Bug #13199
segfault in agent_work
% 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
Associated revisions
OSDService::agent_entry: don't use PG::operator<< without pg lock
Fixes: #13199
Signed-off-by: Samuel Just <sjust@redhat.com>
OSDService::agent_entry: don't use PG::operator<< without pg lock
Fixes: #13199
Signed-off-by: Samuel Just <sjust@redhat.com>
(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)
#3 Updated by Loïc Dachary over 8 years ago
#4 Updated by Loïc Dachary over 8 years ago
- Status changed from Pending Backport to Resolved