Project

General

Profile

Actions

Bug #44373

closed

objecter: invalid read

Added by Sage Weil about 4 years ago. Updated about 4 years ago.

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

0%

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

Description

==226266== Invalid read of size 8
==226266==    at 0x255D700: std::chrono::time_point<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const (chrono:650)
==226266==    by 0x2AA617D: bool std::chrono::operator< <ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > const&, std::chrono::time_point<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > const&) (chrono:782)
==226266==    by 0x2AC4811: std::cv_status std::condition_variable::wait_until<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >(std::unique_lock<std::mutex>&, std::chrono::time_point<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > > const&) (condition_variable:126)
==226266==    by 0x2AB5DB7: ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::timer_thread() (ceph_timer.h:146)
==226266==    by 0x2AE1995: void std::__invoke_impl<void, void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*>(std::__invoke_memfun_deref, void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*&&)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*&&) (invoke.h:73)
==226266==    by 0x2AE18D7: std::__invoke_result<void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*>::type std::__invoke<void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*>(void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*&&)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*&&) (invoke.h:95)
==226266==    by 0x2AE1846: void std::thread::_Invoker<std::tuple<void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (thread:244)
==226266==    by 0x2AE173B: std::thread::_Invoker<std::tuple<void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*> >::operator()() (thread:251)
==226266==    by 0x2AE156B: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::*)(), ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>*> > >::_M_run() (thread:195)
==226266==    by 0xD6536F3: ??? (in /usr/lib64/libstdc++.so.6.0.27)
==226266==    by 0xD4FC4E1: start_thread (in /usr/lib64/libpthread-2.30.so)
==226266==    by 0xD9D9692: clone (in /usr/lib64/libc-2.30.so)
==226266==  Address 0x1d926d80 is 0 bytes inside a block of size 112 free'd
==226266==    at 0xD0790D6: operator delete(void*, unsigned long) (vg_replace_malloc.c:595)
==226266==    by 0x2AA5CE1: ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::cancel_event(unsigned long) (ceph_timer.h:273)
==226266==    by 0x2A6D7B5: Objecter::shutdown() (Objecter.cc:516)
==226266==    by 0x24968D1: OSDService::shutdown() (OSD.cc:491)
==226266==    by 0x24BC619: OSD::shutdown() (OSD.cc:4209)
==226266==    by 0x24A8C12: OSD::handle_signal(int) (OSD.cc:2235)
==226266==    by 0x2474986: handle_osd_signal(int) (ceph_osd.cc:76)
==226266==    by 0x2EDBC2E: SignalHandler::entry() (signal_handler.cc:529)
==226266==    by 0x2F69EC3: Thread::entry_wrapper() (Thread.cc:84)
==226266==    by 0x2F69E41: Thread::_entry_func(void*) (Thread.cc:71)
==226266==    by 0xD4FC4E1: start_thread (in /usr/lib64/libpthread-2.30.so)
==226266==    by 0xD9D9692: clone (in /usr/lib64/libc-2.30.so)
==226266==  Block was alloc'd at
==226266==    at 0xD077E86: operator new(unsigned long) (vg_replace_malloc.c:344)
==226266==    by 0x2AB3156: unsigned long ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::add_event<void (Objecter::*)(), Objecter*>(std::chrono::time_point<ceph::time_detail::coarse_mono_clock, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> > >, void (Objecter::*&&)(), Objecter*&&) (ceph_timer.h:213)
==226266==    by 0x2AA8370: unsigned long ceph::timer_detail::timer<ceph::time_detail::coarse_mono_clock>::add_event<void (Objecter::*)(), Objecter*>(std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >, void (Objecter::*&&)(), Objecter*&&) (ceph_timer.h:205)
==226266==    by 0x2A79D7B: Objecter::start_tick() (Objecter.cc:2110)
==226266==    by 0x2A6CAF1: Objecter::start(OSDMap const*) (Objecter.cc:413)
==226266==    by 0x2496C06: OSDService::final_init() (OSD.cc:524)
==226266==    by 0x24B83A2: OSD::init() (OSD.cc:3627)
==226266==    by 0x247A1C1: main (ceph_osd.cc:706)

this was on e9eb0945383e0f508b58363f0011533d141a4f52
Actions #1

Updated by Adam Emerson about 4 years ago

  • Assignee set to Adam Emerson
Actions #2

Updated by Adam Emerson about 4 years ago

  • Status changed from New to Fix Under Review
Actions #3

Updated by Kefu Chai about 4 years ago

  • Pull request ID set to 33771
Actions #4

Updated by Sage Weil about 4 years ago

  • Status changed from Fix Under Review to Resolved
Actions

Also available in: Atom PDF