Bug #38822
closedmds: there is an assertion when calling Beacon::shutdown()
0%
Description
The construction condition is:
when you use systemctl start a non-existing ceph-mds@xx object
Error info:
2019-03-19 20:26:57.000329 7f5b6671b1c0 0 set uid:gid to 167:167 (ceph:ceph) 2019-03-19 20:26:57.000356 7f5b6671b1c0 0 ceph version 12.2.9(9e300932ef8a8916fb3fda78c58691a6ab0f4217) luminous (stable), process ceph-mds, pid 458996 2019-03-19 20:26:57.004965 7f5b6671b1c0 0 pidfile_write: ignore empty --pid-file 2019-03-19 20:26:57.052413 7f5b6671b1c0 -1 auth: unable to find a keyring on /var/lib/ceph/mds/ceph-star/keyring: (2) No such file or directory 2019-03-19 20:26:57.052438 7f5b6671b1c0 -1 monclient: ERROR: missing keyring, cannot use cephx for authentication 2019-03-19 20:26:57.052445 7f5b6671b1c0 -1 mds.star ERROR: failed to get monmap: (2) No such file or directory 2019-03-19 20:26:57.052453 7f5b6671b1c0 1 mds.star suicide! Wanted state up:boot 2019-03-19 20:26:57.055098 7f5b6671b1c0 -1 *** Caught signal (Aborted) ** in thread 7f5b6671b1c0 thread_name:ceph-mds ceph version 12.2.9(9e300932ef8a8916fb3fda78c58691a6ab0f4217) luminous (stable) 1: (()+0x611581) [0x561a08abd581] 2: (()+0xf6d0) [0x7f5b648116d0] 3: (gsignal()+0x37) [0x7f5b63a36277] 4: (abort()+0x148) [0x7f5b63a37968] 5: (__gnu_cxx::__verbose_terminate_handler()+0x165) [0x7f5b643457d5] 6: (()+0x5e746) [0x7f5b64343746] 7: (()+0x5e773) [0x7f5b64343773] 8: (()+0x5e993) [0x7f5b64343993] 9: (std::__throw_system_error(int)+0x90) [0x7f5b64398c70] 10: (std::thread::join()+0x18) [0x7f5b64399e28] 11: (Beacon::shutdown()+0xa8) [0x561a087b1dd8] 12: (MDSDaemon::suicide()+0x241) [0x561a08769f61] 13: (MDSDaemon::init()+0x17be) [0x561a0876e86e] 14: (main()+0xb90) [0x561a087575f0] 15: (__libc_start_main()+0xf5) [0x7f5b63a22445] 16: (()+0x2b8163) [0x561a08764163] NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Updated by huanwen ren about 5 years ago
Cause:
If you run MDSDaemon::init(), an exception occurs that causes MDSDaemon::suicide()--->Beacon::shutdown()--->sender.join();
this problem occurs because sender is just Default-constructed is in Beacon.h(std::thread sender;), there is no call
to Beacon::init() to construct the sender, so the sender has no "joinable"
Updated by Patrick Donnelly about 5 years ago
- Status changed from New to Fix Under Review
- Assignee set to huanwen ren
- Priority changed from Normal to High
- Target version set to v15.0.0
- Start date deleted (
03/20/2019) - Source set to Community (dev)
- Backport set to nautilus,mimic,luminous
- Pull request ID set to 27063
Updated by huanwen ren about 5 years ago
hi Patrick @Patrick Donnelly
Can you pull me into the development of the tracker? I can't modify most of the states in this issue.
Updated by Patrick Donnelly about 5 years ago
huanwen ren wrote:
hi Patrick @Patrick Donnelly
Can you pull me into the development of the tracker? I can't modify most of the states in this issue.
I've added you to the ceph developers group.
Updated by Patrick Donnelly about 5 years ago
- Status changed from Fix Under Review to Pending Backport
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #39213: luminous: mds: there is an assertion when calling Beacon::shutdown() added
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #39214: nautilus: mds: there is an assertion when calling Beacon::shutdown() added
Updated by Nathan Cutler about 5 years ago
- Copied to Backport #39215: mimic: mds: there is an assertion when calling Beacon::shutdown() added
Updated by Nathan Cutler over 4 years ago
- Status changed from Pending Backport to Resolved
While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".