After #14955 was merged, bitcoind terminate with uncaught exception if build with configure --debug-enabled
on my mac.
Actual output is following:
0$ ./src/bitcoind
1libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
2Abort trap: 6
Backtrace is following:
0$ lldb ./src/bitcoind
1(lldb) target create "./src/bitcoind"
2Current executable set to './src/bitcoind' (x86_64).
3(lldb) run
4Process 73375 launched: './src/bitcoind' (x86_64)
5libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
6Process 73375 stopped
7* thread [#1](/bitcoin-bitcoin/1/), queue = 'com.apple.main-thread', stop reason = signal SIGABRT
8 frame [#0](/bitcoin-bitcoin/0/): 0x00007fff6588423e libsystem_kernel.dylib`__pthread_kill + 10
9libsystem_kernel.dylib`__pthread_kill:
10-> 0x7fff6588423e <+10>: jae 0x7fff65884248 ; <+20>
11 0x7fff65884240 <+12>: movq %rax, %rdi
12 0x7fff65884243 <+15>: jmp 0x7fff6587e3b7 ; cerror_nocancel
13 0x7fff65884248 <+20>: retq
14Target 0: (bitcoind) stopped.
15(lldb) bt
16* thread [#1](/bitcoin-bitcoin/1/), queue = 'com.apple.main-thread', stop reason = signal SIGABRT
17 * frame [#0](/bitcoin-bitcoin/0/): 0x00007fff6588423e libsystem_kernel.dylib`__pthread_kill + 10
18 frame [#1](/bitcoin-bitcoin/1/): 0x00007fff6593ac1c libsystem_pthread.dylib`pthread_kill + 285
19 frame [#2](/bitcoin-bitcoin/2/): 0x00007fff657ed1c9 libsystem_c.dylib`abort + 127
20 frame [#3](/bitcoin-bitcoin/3/): 0x00007fff62e6e231 libc++abi.dylib`abort_message + 231
21 frame [#4](/bitcoin-bitcoin/4/): 0x00007fff62e6e3b5 libc++abi.dylib`default_terminate_handler() + 241
22 frame [#5](/bitcoin-bitcoin/5/): 0x00007fff64678c8f libobjc.A.dylib`_objc_terminate() + 105
23 frame [#6](/bitcoin-bitcoin/6/): 0x00007fff62e79dfe libc++abi.dylib`std::__terminate(void (*)()) + 8
24 frame [#7](/bitcoin-bitcoin/7/): 0x00007fff62e79e73 libc++abi.dylib`std::terminate() + 51
25 frame [#8](/bitcoin-bitcoin/8/): 0x0000000100003efb bitcoind`__clang_call_terminate + 11
26 frame [#9](/bitcoin-bitcoin/9/): 0x0000000100344803 bitcoind`(anonymous namespace)::RNGState::MixExtract(this=<unavailable>, out="", num=32, hasher=0x00007ffeefbfe3f8, strong_seed=<unavailable>) at random.cpp:355 [opt]
27 frame [#10](/bitcoin-bitcoin/10/): 0x0000000100343fbd bitcoind`ProcRand(out="", num=32, level=FAST) at random.cpp:497 [opt]
28 frame [#11](/bitcoin-bitcoin/11/): 0x0000000100343efd bitcoind`GetRandBytes(buf=<unavailable>, num=<unavailable>) at random.cpp:513 [opt]
29 frame [#12](/bitcoin-bitcoin/12/): 0x000000010015a38b bitcoind`::__cxx_global_var_init.3() at sigcache.cpp:68 [opt]
30 frame [#13](/bitcoin-bitcoin/13/): 0x0000000100d8dcc8 dyld`ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 518
31 frame [#14](/bitcoin-bitcoin/14/): 0x0000000100d8dec6 dyld`ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
32 frame [#15](/bitcoin-bitcoin/15/): 0x0000000100d890da dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 358
33 frame [#16](/bitcoin-bitcoin/16/): 0x0000000100d88254 dyld`ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134
34 frame [#17](/bitcoin-bitcoin/17/): 0x0000000100d882e8 dyld`ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 74
35 frame [#18](/bitcoin-bitcoin/18/): 0x0000000100d77774 dyld`dyld::initializeMainExecutable() + 199
36 frame [#19](/bitcoin-bitcoin/19/): 0x0000000100d7c78f dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 6237
37 frame [#20](/bitcoin-bitcoin/20/): 0x0000000100d764f6 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 1154
38 frame [#21](/bitcoin-bitcoin/21/): 0x0000000100d76036 dyld`_dyld_start + 54
39(lldb) quit
[how to reproduce the issue]
0cd (path_to bitcoin_repo)
1git reset --hard 6e6b3b944d12a252a0fd9a1d68fec9843dd5b4f8
2make clean ; make distclean ; ./autogen.sh && ./configure --enable-debug && make -j9
3./src/bitcoind
[Bitcoin Core version]
- commit 6e6b3b944d12a252a0fd9a1d68fec9843dd5b4f8
[machine]
- MacBook Pro (macOS Mojave 10.14.2/Intel Core i7 2.2GHz/memory 16GB/SSD 256GB)
[extra information]
- bitcoin-qt, test_bitcoin and bench_bitcoin have also same problem.
- There is no problem until #14970 (commit ace87ea2b00a84b7a76e75f1ec93d1a4dce83f6f) was merged.