Bug #9067
(wip-objecter) Objecter assertion in SIGINT handler
% Done:
0%
Source:
other
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
@ wip-mds-contexts 2550fc51f30a8a1e581dd9a90511732a3b70ad2a
When I start a "ceph status" while no mon is running, and it's waiting to try and find one, if I ctrl-c it I get this:
john@anthracite:~/ceph/src$ ./ceph status *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *** 2014-08-11 17:54:10.639412 7f2908734700 0 -- :/1002721 >> 192.168.1.12:6789/0 pipe(0x7f2904013190 sd=7 :0 s=1 pgs=0 cs=0 l=1 c=0x7f2904013420).fault ^CError connecting to cluster: InterruptedOrTimeoutError osdc/Objecter.h: In function 'virtual Objecter::~Objecter()' thread 7f28faffd700 time 2014-08-11 17:54:11.614273 osdc/Objecter.h: 1613: FAILED assert(!m_request_state_hook) ceph version 0.83-703-g2550fc5 (2550fc51f30a8a1e581dd9a90511732a3b70ad2a) 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x95) [0x7f290a8a8ea1] 2: (Objecter::~Objecter()+0xb0) [0x7f290a8142b6] 3: (Objecter::~Objecter()+0x18) [0x7f290a8145ba] 4: (librados::RadosClient::~RadosClient()+0xa9) [0x7f290a7c7621] 5: (librados::RadosClient::~RadosClient()+0x18) [0x7f290a7c77ba] 6: (rados_shutdown()+0x3e) [0x7f290a79ac39] 7: (ffi_call_unix64()+0x4c) [0x7f290bd68ea4] 8: (ffi_call()+0x1e5) [0x7f290bd688c5] 9: (_ctypes_callproc()+0x4d2) [0x7f290bd592c2] 10: (()+0xbaa2) [0x7f290bd59aa2] 11: (PyObject_Call()+0x36) [0x4bf2a6] 12: (PyEval_EvalFrameEx()+0x1eb0) [0x467e60] 13: (PyEval_EvalFrameEx()+0xa92) [0x466a42] 14: (PyEval_EvalFrameEx()+0xa92) [0x466a42] 15: (PyEval_EvalCodeEx()+0x1a2) [0x57bd02] 16: python() [0x57dcd0] 17: (PyObject_Call()+0x36) [0x4bf2a6] 18: python() [0x4a4b8a] 19: (PyObject_Call()+0x36) [0x4bf2a6] 20: (PyEval_CallObjectWithKeywords()+0x36) [0x4bf5a6] 21: python() [0x51af58] 22: (()+0x7e9a) [0x7f290dc41e9a] 23: (clone()+0x6d) [0x7f290ca1b3fd] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this. terminate called after throwing an instance of 'ceph::FailedAssertion' Aborted (core dumped)
Related issues
Associated revisions
librados: update Objecter shutdown
Previously checking for CONNECTED was equivalent to
checking the objecter had been initialized, but since
the separation between init() and start() that is
no longer the case. Avoid the need to be smart by
just readint Objecter::initialized to learn whether
to call Objecter::shutdown
Fixes: #9067
Signed-off-by: John Spray <john.spray@redhat.com>
History
#1 Updated by Sage Weil over 9 years ago
- Priority changed from Normal to High
#2 Updated by Sage Weil over 9 years ago
- Assignee set to John Spray
#3 Updated by John Spray over 9 years ago
- Status changed from New to Resolved
commit cb27f2c8b5a9a1ce0d42a2e3b5b406209431d5a8 Author: John Spray <john.spray@redhat.com> Date: Wed Aug 13 02:19:22 2014 +0100 librados: update Objecter shutdown Previously checking for CONNECTED was equivalent to checking the objecter had been initialized, but since the separation between init() and start() that is no longer the case. Avoid the need to be smart by just readint Objecter::initialized to learn whether to call Objecter::shutdown Fixes: #9067 Signed-off-by: John Spray <john.spray@redhat.com>