gui: hang after calling any waitfor* cmds from RPC console #17495

issue fanquake openend this issue on November 16, 2019
  1. fanquake commented at 5:07 pm on November 16, 2019: member
    After calling any of the waitfor* commands in the GUI RPC console, trying to shutdown / bitcoin-cli stop will hang bitcoin-qt.
  2. fanquake added the label GUI on Nov 16, 2019
  3. promag commented at 8:45 pm on November 17, 2019: member

    Reproduced, here is the stack backtrace of all threads:

      0* thread [#1](/bitcoin-bitcoin/1/), name = 'bitcoin-main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
      1  * frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
      2    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
      3    frame [#2](/bitcoin-bitcoin/2/): 0x0000000101d7fcab QtCore`___lldb_unnamed_symbol319$$QtCore + 75
      4    frame [#3](/bitcoin-bitcoin/3/): 0x0000000101d7fc01 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 97
      5    frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7f3de QtCore`QThread::wait(unsigned long) + 110
      6    frame [#5](/bitcoin-bitcoin/5/): 0x0000000100068dc1 bitcoin-qt`RPCConsole::setClientModel(this=<unavailable>, model=<unavailable>) at rpcconsole.cpp:692 [opt]
      7    frame [#6](/bitcoin-bitcoin/6/): 0x000000010001d0f1 bitcoin-qt`BitcoinGUI::setClientModel(this=0x00000001030693d0, _clientModel=0x0000000000000000) at bitcoingui.cpp:610 [opt]
      8    frame [#7](/bitcoin-bitcoin/7/): 0x000000010000c33b bitcoin-qt`BitcoinApplication::requestShutdown(this=0x00007ffeefbff730) at bitcoin.cpp:314 [opt]
      9    frame [#8](/bitcoin-bitcoin/8/): 0x000000010000db9f bitcoin-qt`GuiMain(argc=<unavailable>, argv=<unavailable>) at bitcoin.cpp:592 [opt]
     10    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff5889bed9 libdyld.dylib`start + 1
     11    frame [#10](/bitcoin-bitcoin/10/): 0x00007fff5889bed9 libdyld.dylib`start + 1
     12  thread [#5](/bitcoin-bitcoin/5/), name = 'com.apple.CFSocket.private'
     13    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dc5aa libsystem_kernel.dylib`__select + 10
     14    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff2b688cf3 CoreFoundation`__CFSocketManager + 639
     15    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     16    frame [#3](/bitcoin-bitcoin/3/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     17    frame [#4](/bitcoin-bitcoin/4/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     18  thread [#6](/bitcoin-bitcoin/6/), name = 'QDBusConnectionManager'
     19    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
     20    frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
     21    frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
     22    frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
     23    frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
     24    frame [#5](/bitcoin-bitcoin/5/): 0x00000001022fc483 QtDBus`___lldb_unnamed_symbol17$$QtDBus + 19
     25    frame [#6](/bitcoin-bitcoin/6/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
     26    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     27    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     28    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     29  thread [#7](/bitcoin-bitcoin/7/), name = 'bitcoin-qt-init'
     30    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
     31    frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
     32    frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
     33    frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
     34    frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
     35    frame [#5](/bitcoin-bitcoin/5/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
     36    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     37    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     38    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     39  thread [#9](/bitcoin-bitcoin/9/), name = 'bitcoin-scriptch.0'
     40    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
     41    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
     42    frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
     43    frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
     44    frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
     45    frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
     46    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     47    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     48    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     49  thread [#10](/bitcoin-bitcoin/10/), name = 'bitcoin-scriptch.1'
     50    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
     51    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
     52    frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
     53    frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
     54    frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
     55    frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
     56    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     57    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     58    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     59  thread [#11](/bitcoin-bitcoin/11/), name = 'bitcoin-scriptch.2'
     60    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
     61    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
     62    frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
     63    frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
     64    frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
     65    frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
     66    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     67    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     68    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     69  thread [#12](/bitcoin-bitcoin/12/), name = 'bitcoin-scheduler'
     70    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
     71    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
     72    frame [#2](/bitcoin-bitcoin/2/): 0x000000010050cb78 bitcoin-qt`boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 88
     73    frame [#3](/bitcoin-bitcoin/3/): 0x000000010050b31b bitcoin-qt`CScheduler::serviceQueue() + 363
     74    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
     75    frame [#5](/bitcoin-bitcoin/5/): 0x000000010016c744 bitcoin-qt`boost::detail::thread_data<std::__1::__bind<void (*)(char const*, std::__1::function<void ()>), char const (&) [10], std::__1::function<void ()>&> >::run() + 116
     76    frame [#6](/bitcoin-bitcoin/6/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
     77    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     78    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     79    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     80  thread [#13](/bitcoin-bitcoin/13/), name = 'bitcoin-http'
     81    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589db716 libsystem_kernel.dylib`kevent + 10
     82    frame [#1](/bitcoin-bitcoin/1/): 0x00000001024edbf2 libevent-2.1.6.dylib`kq_dispatch + 487
     83    frame [#2](/bitcoin-bitcoin/2/): 0x00000001024e4b3c libevent-2.1.6.dylib`event_base_loop + 699
     84    frame [#3](/bitcoin-bitcoin/3/): 0x00000001001272aa bitcoin-qt`ThreadHTTP(event_base*) + 122
     85    frame [#4](/bitcoin-bitcoin/4/): 0x000000010012b73a bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, bool (*)(event_base*), event_base*> >(void*) + 58
     86    frame [#5](/bitcoin-bitcoin/5/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     87    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     88    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     89  thread [#14](/bitcoin-bitcoin/14/), name = 'bitcoin-httpworker.0'
     90    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
     91    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
     92    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
     93    frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
     94    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
     95    frame [#5](/bitcoin-bitcoin/5/): 0x000000010012bbce bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int> >(void*) + 62
     96    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
     97    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
     98    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
     99  thread [#15](/bitcoin-bitcoin/15/), name = 'bitcoin-httpworker.1'
    100    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    101    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    102    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    103    frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
    104    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
    105    frame [#5](/bitcoin-bitcoin/5/): 0x000000010012bbce bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int> >(void*) + 62
    106    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    107    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    108    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    109  thread [#16](/bitcoin-bitcoin/16/), name = 'bitcoin-httpworker.2'
    110    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    111    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    112    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    113    frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
    114    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
    115    frame [#5](/bitcoin-bitcoin/5/): 0x000000010012bbce bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int> >(void*) + 62
    116    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    117    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    118    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    119  thread [#17](/bitcoin-bitcoin/17/), name = 'bitcoin-httpworker.3'
    120    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    121    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    122    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    123    frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
    124    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
    125    frame [#5](/bitcoin-bitcoin/5/): 0x000000010012bbce bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int> >(void*) + 62
    126    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    127    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    128    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    129  thread [#18](/bitcoin-bitcoin/18/), name = 'com.apple.NSEventThread'
    130    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d517a libsystem_kernel.dylib`mach_msg_trap + 10
    131    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff589d56d0 libsystem_kernel.dylib`mach_msg + 60
    132    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff2b65b0c2 CoreFoundation`__CFRunLoopServiceMachPort + 337
    133    frame [#3](/bitcoin-bitcoin/3/): 0x00007fff2b65a611 CoreFoundation`__CFRunLoopRun + 1654
    134    frame [#4](/bitcoin-bitcoin/4/): 0x00007fff2b659d48 CoreFoundation`CFRunLoopRunSpecific + 463
    135    frame [#5](/bitcoin-bitcoin/5/): 0x00007fff28bb3f89 AppKit`_NSEventThread + 160
    136    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    137    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    138    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    139  thread [#19](/bitcoin-bitcoin/19/)
    140    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    141    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    142    frame [#2](/bitcoin-bitcoin/2/): 0x000000010059e337 bitcoin-qt`leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(void*) at env_posix.cc:649 [opt]
    143    frame [#3](/bitcoin-bitcoin/3/): 0x000000010059e301 bitcoin-qt`leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(arg=0x000000010bf7f3d0) at env_posix.cc:564 [opt]
    144    frame [#4](/bitcoin-bitcoin/4/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    145    frame [#5](/bitcoin-bitcoin/5/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    146    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    147  thread [#20](/bitcoin-bitcoin/20/), name = 'bitcoin-torcontrol'
    148    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589db716 libsystem_kernel.dylib`kevent + 10
    149    frame [#1](/bitcoin-bitcoin/1/): 0x00000001024edbf2 libevent-2.1.6.dylib`kq_dispatch + 487
    150    frame [#2](/bitcoin-bitcoin/2/): 0x00000001024e4b3c libevent-2.1.6.dylib`event_base_loop + 699
    151    frame [#3](/bitcoin-bitcoin/3/): 0x00000001002969e2 bitcoin-qt`TorControlThread() + 210
    152    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100182217 bitcoin-qt`void TraceThread<void (*)()>(char const*, void (*)()) + 199
    153    frame [#5](/bitcoin-bitcoin/5/): 0x000000010029e10e bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, std::__1::__bind<void (*)(char const*, void (*)()), char const (&) [11], void (*)()> > >(void*) + 62
    154    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    155    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    156    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    157  thread [#21](/bitcoin-bitcoin/21/), name = 'bitcoin-net'
    158    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dc5aa libsystem_kernel.dylib`__select + 10
    159    frame [#1](/bitcoin-bitcoin/1/): 0x0000000100180f1d bitcoin-qt`CConnman::SocketEvents(std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> >&, std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> >&, std::__1::set<unsigned int, std::__1::less<unsigned int>, std::__1::allocator<unsigned int> >&) + 813
    160    frame [#2](/bitcoin-bitcoin/2/): 0x000000010018139b bitcoin-qt`CConnman::SocketHandler() + 171
    161    frame [#3](/bitcoin-bitcoin/3/): 0x0000000100181fd8 bitcoin-qt`CConnman::ThreadSocketHandler() + 72
    162    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
    163    frame [#5](/bitcoin-bitcoin/5/): 0x000000010019758a bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, std::__1::function<void ()> > >(void*) + 138
    164    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    165    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    166    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    167  thread [#22](/bitcoin-bitcoin/22/), name = 'bitcoin-addcon'
    168    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    169    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    170    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71d01 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
    171    frame [#3](/bitcoin-bitcoin/3/): 0x0000000100196968 bitcoin-qt`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 136
    172    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100370f56 bitcoin-qt`CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >) + 166
    173    frame [#5](/bitcoin-bitcoin/5/): 0x00000001001865a1 bitcoin-qt`CConnman::ThreadOpenAddedConnections() + 529
    174    frame [#6](/bitcoin-bitcoin/6/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
    175    frame [#7](/bitcoin-bitcoin/7/): 0x000000010019758a bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, std::__1::function<void ()> > >(void*) + 138
    176    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    177    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    178    frame [#10](/bitcoin-bitcoin/10/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    179  thread [#23](/bitcoin-bitcoin/23/), name = 'bitcoin-opencon'
    180    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    181    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    182    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71d01 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
    183    frame [#3](/bitcoin-bitcoin/3/): 0x0000000100196968 bitcoin-qt`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 136
    184    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100370f56 bitcoin-qt`CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >) + 166
    185    frame [#5](/bitcoin-bitcoin/5/): 0x0000000100184b5d bitcoin-qt`CConnman::ThreadOpenConnections(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) + 573
    186    frame [#6](/bitcoin-bitcoin/6/): 0x0000000100197ead bitcoin-qt`void std::__1::__invoke_void_return_wrapper<void>::__call<std::__1::__bind<void (CConnman::*)(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >), CConnman*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&>&>(std::__1::__bind<void (CConnman::*)(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >), CConnman*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&>&&&) + 77
    187    frame [#7](/bitcoin-bitcoin/7/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
    188    frame [#8](/bitcoin-bitcoin/8/): 0x000000010019758a bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, std::__1::function<void ()> > >(void*) + 138
    189    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    190    frame [#10](/bitcoin-bitcoin/10/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    191    frame [#11](/bitcoin-bitcoin/11/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    192  thread [#24](/bitcoin-bitcoin/24/), name = 'bitcoin-msghand'
    193    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    194    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    195    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71d01 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
    196    frame [#3](/bitcoin-bitcoin/3/): 0x0000000100196968 bitcoin-qt`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) + 136
    197    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100186b2c bitcoin-qt`CConnman::ThreadMessageHandler() + 1020
    198    frame [#5](/bitcoin-bitcoin/5/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
    199    frame [#6](/bitcoin-bitcoin/6/): 0x000000010019758a bitcoin-qt`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(char const*, std::__1::function<void ()>), char const*, std::__1::function<void ()> > >(void*) + 138
    200    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    201    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    202    frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    203  thread [#25](/bitcoin-bitcoin/25/), name = 'QThread'
    204    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
    205    frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
    206    frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
    207    frame [#3](/bitcoin-bitcoin/3/): 0x000000010021d4f4 bitcoin-qt`waitforblock(JSONRPCRequest const&) + 2996
    208    frame [#4](/bitcoin-bitcoin/4/): 0x0000000100285a58 bitcoin-qt`std::__1::__invoke_void_return_wrapper<bool>::__call<CRPCCommand::CRPCCommand(char const*, char const*, UniValue (*)(JSONRPCRequest const&), std::initializer_list<char const*>)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&, JSONRPCRequest const&, UniValue&, bool>(bool, CRPCCommand::CRPCCommand(char const*, char const*, UniValue (*)(JSONRPCRequest const&), std::initializer_list<char const*>)::'lambda'(JSONRPCRequest const&, UniValue&, bool)&&&, JSONRPCRequest const&&&, UniValue&&&, bool&&) + 40
    209    frame [#5](/bitcoin-bitcoin/5/): 0x0000000100283815 bitcoin-qt`CRPCTable::execute(JSONRPCRequest const&) const + 1093
    210    frame [#6](/bitcoin-bitcoin/6/): 0x000000010014022d bitcoin-qt`interfaces::(anonymous namespace)::NodeImpl::executeRpc(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, UniValue const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 317
    211    frame [#7](/bitcoin-bitcoin/7/): 0x000000010005c88a bitcoin-qt`RPCConsole::RPCParseCommandLine(node=0x00000001027ddf70, strResult="", strCommand="waitforblock 000000000000000000017ef0d8ff676c77299abb0d8b41dbc5a3c8d552d759ae\n", fExecute=<unavailable>, pstrFilteredOut="", wallet_model=0x0000000000000000) at rpcconsole.cpp:312 [opt]
    212    frame [#8](/bitcoin-bitcoin/8/): 0x000000010005ad5c bitcoin-qt`RPCExecutor::request(QString const&, WalletModel const*) [inlined] RPCConsole::RPCExecuteCommandLine(node=<unavailable>, strResult="", strCommand="", pstrFilteredOut=<unavailable>, wallet_model=<unavailable>) at rpcconsole.h:46 [opt]
    213    frame [#9](/bitcoin-bitcoin/9/): 0x000000010005ad4c bitcoin-qt`RPCExecutor::request(this=0x000000010271d0c0, command=<unavailable>, wallet_model=0x0000000000000000) at rpcconsole.cpp:417 [opt]
    214    frame [#10](/bitcoin-bitcoin/10/): 0x0000000101f5f9f1 QtCore`QObject::event(QEvent*) + 769
    215    frame [#11](/bitcoin-bitcoin/11/): 0x000000010128b46d QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
    216    frame [#12](/bitcoin-bitcoin/12/): 0x000000010128c897 QtWidgets`QApplication::notify(QObject*, QEvent*) + 583
    217    frame [#13](/bitcoin-bitcoin/13/): 0x0000000101f35f64 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
    218    frame [#14](/bitcoin-bitcoin/14/): 0x0000000101f370d7 QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 791
    219    frame [#15](/bitcoin-bitcoin/15/): 0x0000000101f8b908 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 72
    220    frame [#16](/bitcoin-bitcoin/16/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
    221    frame [#17](/bitcoin-bitcoin/17/): 0x0000000101d7516c QtCore`QThread::exec() + 140
    222    frame [#18](/bitcoin-bitcoin/18/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
    223    frame [#19](/bitcoin-bitcoin/19/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    224    frame [#20](/bitcoin-bitcoin/20/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    225    frame [#21](/bitcoin-bitcoin/21/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    226  thread [#26](/bitcoin-bitcoin/26/), name = 'QThread'
    227    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
    228    frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
    229    frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
    230    frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
    231    frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
    232    frame [#5](/bitcoin-bitcoin/5/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
    233    frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
    234    frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
    235    frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
    236  thread [#27](/bitcoin-bitcoin/27/)
    237    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff58a8e3f8 libsystem_pthread.dylib`start_wqthread
    238  thread [#28](/bitcoin-bitcoin/28/)
    239    frame [#0](/bitcoin-bitcoin/0/): 0x00007fff58a8e3f8 libsystem_pthread.dylib`start_wqthread
    
  4. promag commented at 8:46 pm on November 17, 2019: member
    FWIW the deadlock doesn’t happen with bitcoind.
  5. hebasto commented at 6:50 pm on March 27, 2020: member
    @fanquake @promag Mind testing #18452?
  6. jonasschnelli closed this on May 29, 2020

  7. sidhujag referenced this in commit ff0692d4f3 on May 31, 2020
  8. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-17 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me