Bug #51877
closedcrash: int fork_function(int, std::ostream&, std::function<signed char()>): assert((*__errno_location ()) == 4)
0%
275307d556e4147d2ad5a7a74064a399e0012d97a865818d4bc17099de946b81
28a321ddf7d0469a896f796efb595606803be806190be11dc931244282ea557f
3a900e112239b9f0ee9a5c0f2accebd4132ce2613d139114c86865629f7b5817
53ae5a7747df303d95f8f28697a631851e080413cebe024867883f015f182b06
59a9b122a0a1e02a2dce55c98c55e70a35d400e2dbc3b0e31d579ca6ae0b1566
5d341195e849d1b8fc568366d6076c61e65a91823896ea2fd1e408ed36f3f529
7a8bd7fbc442ee0139b78523e37d7d9450b5af67da77b679cfccf88299426d41
d6b6f43e0c31315c6493798edbb349f4cfb759ecb7984e8bf203ce12d7d3e312
f23756652603548a024c95c1877e753effe7bdd1473676104f3207deaac74488
fb70f56d305d105eaab078b0d53042c75054e5d4ac05cbf436ded29e7b18efea
Description
Assert condition: (*__errno_location ()) == 4
Assert function: int fork_function(int, std::ostream&, std::function<signed char()>)
Sanitized backtrace:
CrushTester::test_with_fork(int) OSDMonitor::prepare_new_pool(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int, unsigned int, unsigned long, unsigned long, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned long, OSDMonitor::FastReadType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*) OSDMonitor::prepare_command_impl(boost::intrusive_ptr<MonOpRequest>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, double, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > >, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, double, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > > > > > const&) OSDMonitor::prepare_command(boost::intrusive_ptr<MonOpRequest>) OSDMonitor::prepare_update(boost::intrusive_ptr<MonOpRequest>) PaxosService::dispatch(boost::intrusive_ptr<MonOpRequest>) Monitor::handle_command(boost::intrusive_ptr<MonOpRequest>) Monitor::dispatch_op(boost::intrusive_ptr<MonOpRequest>) Monitor::_ms_dispatch(Message*) Dispatcher::ms_dispatch2(boost::intrusive_ptr<Message> const&) DispatchQueue::entry() DispatchQueue::DispatchThread::entry() clone()
Crash dump sample:
{ "assert_condition": "(*__errno_location ()) == 4", "assert_file": "common/fork_function.h", "assert_func": "int fork_function(int, std::ostream&, std::function<signed char()>)", "assert_line": 36, "assert_msg": "common/fork_function.h: In function 'int fork_function(int, std::ostream&, std::function<signed char()>)' thread 7f71dd004700 time 2021-07-14T14:30:04.619104+0800\ncommon/fork_function.h: 36: FAILED ceph_assert((*__errno_location ()) == 4)", "assert_thread_name": "ms_dispatch", "backtrace": [ "(()+0x12dd0) [0x7f71e9488dd0]", "(gsignal()+0x10f) [0x7f71e80ed70f]", "(abort()+0x127) [0x7f71e80d7b25]", "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1a9) [0x7f71eb988d61]", "(()+0x27af2a) [0x7f71eb988f2a]", "(CrushTester::test_with_fork(int)+0x796) [0x7f71ebeffea6]", "(OSDMonitor::prepare_new_pool(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int, unsigned int, unsigned long, unsigned long, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned long, OSDMonitor::FastReadType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::ostream*)+0x42d) [0x55c05f7cb42d]", "(OSDMonitor::prepare_command_impl(boost::intrusive_ptr<MonOpRequest>, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, double, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > >, std::less<void>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, boost::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, double, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::vector<long, std::allocator<long> >, std::vector<double, std::allocator<double> > > > > > const&)+0x19d10) [0x55c05f7edae0]", "(OSDMonitor::prepare_command(boost::intrusive_ptr<MonOpRequest>)+0xf3) [0x55c05f7f72d3]", "(OSDMonitor::prepare_update(boost::intrusive_ptr<MonOpRequest>)+0x373) [0x55c05f7ff6f3]", "(PaxosService::dispatch(boost::intrusive_ptr<MonOpRequest>)+0xa6d) [0x55c05f786e0d]", "(Monitor::handle_command(boost::intrusive_ptr<MonOpRequest>)+0x4fc5) [0x55c05f686c85]", "(Monitor::dispatch_op(boost::intrusive_ptr<MonOpRequest>)+0xb36) [0x55c05f688e66]", "(Monitor::_ms_dispatch(Message*)+0x6a6) [0x55c05f68a1e6]", "(Dispatcher::ms_dispatch2(boost::intrusive_ptr<Message> const&)+0x5c) [0x55c05f6b914c]", "(DispatchQueue::entry()+0x126a) [0x7f71ebba973a]", "(DispatchQueue::DispatchThread::entry()+0x11) [0x7f71ebc4c771]", "(()+0x82de) [0x7f71e947e2de]", "(clone()+0x43) [0x7f71e81b1e83]" ], "ceph_version": "15.2.13", "crash_id": "2021-07-14T06:30:04.631995Z_25fac3b9-8c6e-44f5-829a-f3da83cf5e4b", "entity_name": "mon.cc2ea5dd4e702b94d398013f71628774f641093f", "os_id": "centos", "os_name": "CentOS Linux", "os_version": "8 (Core)", "os_version_id": "8", "process_name": "ceph-mon", "stack_sig": "7a8bd7fbc442ee0139b78523e37d7d9450b5af67da77b679cfccf88299426d41", "timestamp": "2021-07-14T06:30:04.631995Z", "utsname_machine": "x86_64", "utsname_release": "4.18.0-193.6.3.el8_2.x86_64", "utsname_sysname": "Linux", "utsname_version": "#1 SMP Wed Jun 10 11:09:32 UTC 2020" }
Updated by Telemetry Bot over 2 years ago
Updated by Neha Ojha over 2 years ago
- Status changed from New to Duplicate
- Crash signature (v1) updated (diff)
Updated by Neha Ojha over 2 years ago
- Is duplicate of Bug #46266: Monitor crashed in creating pool in CrushTester::test_with_fork() added