Project

General

Profile

Bug #13199

segfault in agent_work

Added by Samuel Just over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Urgent
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
hammer
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

     0> 2015-09-21 22:06:30.200165 7fa1674ab700 -1 *** Caught signal (Segmentation fault) **
 in thread 7fa1674ab700

 ceph version 9.0.3-1804-g10b4c22 (10b4c22797f2058c63f4fd1d97437d6a7ceb58ce)
 1: (()+0x7eda6a) [0x7fa18e2e0a6a]
 2: (()+0x10340) [0x7fa18c78d340]
 3: (std::_Rb_tree_increment(std::_Rb_tree_node_base const*)+0x13) [0x7fa18b327b63]
 4: (std::ostream& operator<< <snapid_t>(std::ostream&, interval_set<snapid_t> const&)+0xe0) [0x7fa18df3e440]
 5: (operator<<(std::ostream&, PG const&)+0x370) [0x7fa18df50420]
 6: (OSDService::agent_entry()+0x6d2) [0x7fa18de00842]
 7: (OSDService::AgentThread::entry()+0xd) [0x7fa18de6639d]
 8: (()+0x8182) [0x7fa18c785182]
 9: (clone()+0x6d) [0x7fa18aacc47d]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

--- logging levels ---

(gdb) print pg.info.pgid
$7 = {pgid = {m_pool = 2, m_seed = 0, m_preferred = -1}, shard = {id = -1 '\377', static NO_SHARD = {id = -1 '\377', static NO_SHARD = <same as static member of an already seen type>}}}
(gdb) bt
#0  0x00007fa18c78d20b in raise (sig=11) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
#1  0x00007fa18e2e0b2d in reraise_fatal (signum=11) at global/signal_handler.cc:59
#2  handle_fatal_signal (signum=11) at global/signal_handler.cc:109
#3  <signal handler called>
#4  0x00007fa18b327b63 in std::_Rb_tree_increment(std::_Rb_tree_node_base const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007fa18df3e440 in operator++ (this=<synthetic pointer>) at /usr/include/c++/4.8/bits/stl_tree.h:270
#6  operator++ (this=<synthetic pointer>) at ./include/interval_set.h:140
#7  operator<< <snapid_t> (out=..., s=...) at ./include/interval_set.h:529
#8  0x00007fa18df50420 in operator<< (out=..., pg=...) at osd/PG.cc:4921
#9  0x00007fa18de00842 in OSDService::agent_entry (this=0x7fa191497758) at osd/OSD.cc:546
#10 0x00007fa18de6639d in OSDService::AgentThread::entry (this=<optimized out>) at osd/OSD.h:658
#11 0x00007fa18c785182 in start_thread (arg=0x7fa1674ab700) at pthread_create.c:312
#12 0x00007fa18aacc47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Related issues

Copied to Ceph - Backport #13337: segfault in agent_work Resolved

Associated revisions

Revision d422f282 (diff)
Added by Samuel Just over 8 years ago

OSDService::agent_entry: don't use PG::operator<< without pg lock

Fixes: #13199
Signed-off-by: Samuel Just <>

Revision d8ca88dd (diff)
Added by Samuel Just over 8 years ago

OSDService::agent_entry: don't use PG::operator<< without pg lock

Fixes: #13199
Signed-off-by: Samuel Just <>
(cherry picked from commit d422f2820d5beee15117e166546a6386120e0349)

Conflicts:
src/osd/OSD.cc: trivial resolution

History

#1 Updated by Sage Weil over 8 years ago

  • Status changed from 7 to Pending Backport
  • Backport set to hammer

#2 Updated by Loïc Dachary over 8 years ago

  • Description updated (diff)

#4 Updated by Loïc Dachary over 8 years ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF