Project

General

Profile

Bug #39439

osd: segv in _preboot -> heartbeat

Added by Sage Weil 10 months ago. Updated 10 months ago.

Status:
Pending Backport
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
nautilus, mimic, luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(RADOS):
Pull request ID:
Crash signature:

Description

(gdb) bt
#0  raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x000055dfa438c096 in reraise_fatal (signum=6) at ./src/global/signal_handler.cc:326
#2  handle_fatal_signal(int) () at ./src/global/signal_handler.cc:326
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#5  0x00007ff1afb85801 in __GI_abort () at abort.c:79
#6  0x00007ff1afb7539a in __assert_fail_base (fmt=0x7ff1afcfc7d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55dfa4a18e20 "px != 0", file=file@entry=0x55dfa4a1d470 "/build/ceph-15.0.0-573-gc3211a0/obj-x86_64-linux-gnu/boost/include/boost/smart_ptr/intrusive_ptr.hpp", 
    line=line@entry=199, function=function@entry=0x55dfa4a28da0 <boost::intrusive_ptr<Connection>::operator->() const::__PRETTY_FUNCTION__> "T* boost::intrusive_ptr<T>::operator->() const [with T = Connection]") at assert.c:92
#7  0x00007ff1afb75412 in __GI___assert_fail (assertion=assertion@entry=0x55dfa4a18e20 "px != 0", file=file@entry=0x55dfa4a1d470 "/build/ceph-15.0.0-573-gc3211a0/obj-x86_64-linux-gnu/boost/include/boost/smart_ptr/intrusive_ptr.hpp", line=line@entry=199, 
    function=function@entry=0x55dfa4a28da0 <boost::intrusive_ptr<Connection>::operator->() const::__PRETTY_FUNCTION__> "T* boost::intrusive_ptr<T>::operator->() const [with T = Connection]") at assert.c:101
#8  0x000055dfa3da1063 in boost::intrusive_ptr<Connection>::operator-> (this=<optimized out>) at ./obj-x86_64-linux-gnu/boost/include/boost/smart_ptr/intrusive_ptr.hpp:197
#9  0x000055dfa3ddff9b in boost::intrusive_ptr<Connection>::operator-> (this=0x55dfaf2f1e18) at ./src/log/Entry.h:35
#10 OSD::heartbeat() () at ./src/osd/OSD.cc:5266
#11 0x000055dfa3de05cf in OSD::_preboot(unsigned int, unsigned int) () at ./src/osd/OSD.cc:5864
#12 0x000055dfa3de0c3e in OSD::_got_mon_epochs(unsigned int, unsigned int) () at ./src/osd/OSD.cc:5853
#13 0x000055dfa3e10519 in Context::complete (this=0x55dfb2b5d360, r=<optimized out>) at ./src/include/Context.h:77
#14 0x000055dfa439d3ef in Finisher::finisher_thread_entry() () at ./src/common/Finisher.cc:67
#15 0x00007ff1b0ecb6db in start_thread (arg=0x7ff19adce700) at pthread_create.c:463
#16 0x00007ff1afc6688f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) f 10
#10 OSD::heartbeat() () at ./src/osd/OSD.cc:5266
5266    in ./src/osd/OSD.cc
(gdb) p i
$7 = 
    {first = 2, second = {peer = 2, con_front = {px = 0x55dfb29d9200}, con_back = {px = 0x55dfb2d08480}, first_tx = {tv = {tv_sec = 1556037089, tv_nsec = 650117913}}, last_tx = {tv = {tv_sec = 1556037089, tv_nsec = 650117913}}, last_rx_front = {tv = {tv_sec = 0, tv_nsec = 0}}, last_rx_back = {tv = {tv_sec = 0, tv_nsec = 0}}, epoch = 51, static HEARTBEAT_MAX_CONN = 2, ping_history = std::map with 0 elements}}

when the code is
    i->second.con_back->send_message(new MOSDPing(monc->get_fsid(),
                      service.get_osdmap_epoch(),
                      MOSDPing::PING, now,
                      cct->_conf->osd_heartbeat_min_size));

Related issues

Copied to RADOS - Backport #39513: mimic: osd: segv in _preboot -> heartbeat Resolved
Copied to RADOS - Backport #39514: nautilus: osd: segv in _preboot -> heartbeat Resolved
Copied to RADOS - Backport #39515: luminous: osd: segv in _preboot -> heartbeat New

History

#1 Updated by Sage Weil 10 months ago

  • Status changed from 12 to Fix Under Review

#2 Updated by Sage Weil 10 months ago

  • Status changed from Fix Under Review to Pending Backport

#3 Updated by Nathan Cutler 10 months ago

  • Copied to Backport #39513: mimic: osd: segv in _preboot -> heartbeat added

#4 Updated by Nathan Cutler 10 months ago

  • Copied to Backport #39514: nautilus: osd: segv in _preboot -> heartbeat added

#5 Updated by Nathan Cutler 10 months ago

  • Copied to Backport #39515: luminous: osd: segv in _preboot -> heartbeat added

Also available in: Atom PDF