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

issue fanquake opened 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:

    * thread [#1](/bitcoin-bitcoin/1/), name = 'bitcoin-main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
      * frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x0000000101d7fcab QtCore`___lldb_unnamed_symbol319$$QtCore + 75
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000101d7fc01 QtCore`QWaitCondition::wait(QMutex*, unsigned long) + 97
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7f3de QtCore`QThread::wait(unsigned long) + 110
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000100068dc1 bitcoin-qt`RPCConsole::setClientModel(this=<unavailable>, model=<unavailable>) at rpcconsole.cpp:692 [opt]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010001d0f1 bitcoin-qt`BitcoinGUI::setClientModel(this=0x00000001030693d0, _clientModel=0x0000000000000000) at bitcoingui.cpp:610 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010000c33b bitcoin-qt`BitcoinApplication::requestShutdown(this=0x00007ffeefbff730) at bitcoin.cpp:314 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010000db9f bitcoin-qt`GuiMain(argc=<unavailable>, argv=<unavailable>) at bitcoin.cpp:592 [opt]
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff5889bed9 libdyld.dylib`start + 1
        frame [#10](/bitcoin-bitcoin/10/): 0x00007fff5889bed9 libdyld.dylib`start + 1
      thread [#5](/bitcoin-bitcoin/5/), name = 'com.apple.CFSocket.private'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dc5aa libsystem_kernel.dylib`__select + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff2b688cf3 CoreFoundation`__CFSocketManager + 639
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#3](/bitcoin-bitcoin/3/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#4](/bitcoin-bitcoin/4/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#6](/bitcoin-bitcoin/6/), name = 'QDBusConnectionManager'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
        frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001022fc483 QtDBus`___lldb_unnamed_symbol17$$QtDBus + 19
        frame [#6](/bitcoin-bitcoin/6/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#7](/bitcoin-bitcoin/7/), name = 'bitcoin-qt-init'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
        frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#9](/bitcoin-bitcoin/9/), name = 'bitcoin-scriptch.0'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#10](/bitcoin-bitcoin/10/), name = 'bitcoin-scriptch.1'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#11](/bitcoin-bitcoin/11/), name = 'bitcoin-scriptch.2'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00000001001650ef bitcoin-qt`boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) + 79
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001003286c5 bitcoin-qt`CCheckQueue<CScriptCheck>::Loop(bool) + 661
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001002efe66 bitcoin-qt`ThreadScriptCheck(int) + 86
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#12](/bitcoin-bitcoin/12/), name = 'bitcoin-scheduler'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010050cb78 bitcoin-qt`boost::condition_variable::do_wait_until(boost::unique_lock<boost::mutex>&, timespec const&) + 88
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010050b31b bitcoin-qt`CScheduler::serviceQueue() + 363
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00000001010fd2ac libboost_thread-mt.dylib`boost::(anonymous namespace)::thread_proxy(void*) + 156
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#13](/bitcoin-bitcoin/13/), name = 'bitcoin-http'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589db716 libsystem_kernel.dylib`kevent + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00000001024edbf2 libevent-2.1.6.dylib`kq_dispatch + 487
        frame [#2](/bitcoin-bitcoin/2/): 0x00000001024e4b3c libevent-2.1.6.dylib`event_base_loop + 699
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001001272aa bitcoin-qt`ThreadHTTP(event_base*) + 122
        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
        frame [#5](/bitcoin-bitcoin/5/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#14](/bitcoin-bitcoin/14/), name = 'bitcoin-httpworker.0'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#15](/bitcoin-bitcoin/15/), name = 'bitcoin-httpworker.1'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#16](/bitcoin-bitcoin/16/), name = 'bitcoin-httpworker.2'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#17](/bitcoin-bitcoin/17/), name = 'bitcoin-httpworker.3'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010012b457 bitcoin-qt`WorkQueue<HTTPClosure>::Run() + 151
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100127365 bitcoin-qt`HTTPWorkQueueRun(WorkQueue<HTTPClosure>*, int) + 85
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#18](/bitcoin-bitcoin/18/), name = 'com.apple.NSEventThread'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d517a libsystem_kernel.dylib`mach_msg_trap + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff589d56d0 libsystem_kernel.dylib`mach_msg + 60
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff2b65b0c2 CoreFoundation`__CFRunLoopServiceMachPort + 337
        frame [#3](/bitcoin-bitcoin/3/): 0x00007fff2b65a611 CoreFoundation`__CFRunLoopRun + 1654
        frame [#4](/bitcoin-bitcoin/4/): 0x00007fff2b659d48 CoreFoundation`CFRunLoopRunSpecific + 463
        frame [#5](/bitcoin-bitcoin/5/): 0x00007fff28bb3f89 AppKit`_NSEventThread + 160
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#19](/bitcoin-bitcoin/19/)
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010059e337 bitcoin-qt`leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(void*) at env_posix.cc:649 [opt]
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010059e301 bitcoin-qt`leveldb::(anonymous namespace)::PosixEnv::BGThreadWrapper(arg=0x000000010bf7f3d0) at env_posix.cc:564 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#5](/bitcoin-bitcoin/5/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#20](/bitcoin-bitcoin/20/), name = 'bitcoin-torcontrol'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589db716 libsystem_kernel.dylib`kevent + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00000001024edbf2 libevent-2.1.6.dylib`kq_dispatch + 487
        frame [#2](/bitcoin-bitcoin/2/): 0x00000001024e4b3c libevent-2.1.6.dylib`event_base_loop + 699
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001002969e2 bitcoin-qt`TorControlThread() + 210
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100182217 bitcoin-qt`void TraceThread<void (*)()>(char const*, void (*)()) + 199
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#21](/bitcoin-bitcoin/21/), name = 'bitcoin-net'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dc5aa libsystem_kernel.dylib`__select + 10
        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
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010018139b bitcoin-qt`CConnman::SocketHandler() + 171
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100181fd8 bitcoin-qt`CConnman::ThreadSocketHandler() + 72
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
        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
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#22](/bitcoin-bitcoin/22/), name = 'bitcoin-addcon'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        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
        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
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100370f56 bitcoin-qt`CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >) + 166
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001001865a1 bitcoin-qt`CConnman::ThreadOpenAddedConnections() + 529
        frame [#6](/bitcoin-bitcoin/6/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
        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
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#10](/bitcoin-bitcoin/10/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#23](/bitcoin-bitcoin/23/), name = 'bitcoin-opencon'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        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
        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
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100370f56 bitcoin-qt`CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l> >) + 166
        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
        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
        frame [#7](/bitcoin-bitcoin/7/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
        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
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#10](/bitcoin-bitcoin/10/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#11](/bitcoin-bitcoin/11/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#24](/bitcoin-bitcoin/24/), name = 'bitcoin-msghand'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        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
        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
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100186b2c bitcoin-qt`CConnman::ThreadMessageHandler() + 1020
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000100160423 bitcoin-qt`void TraceThread<std::__1::function<void ()> >(char const*, std::__1::function<void ()>) + 211
        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
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#9](/bitcoin-bitcoin/9/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#25](/bitcoin-bitcoin/25/), name = 'QThread'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589d87de libsystem_kernel.dylib`__psynch_cvwait + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x00007fff58a92593 libsystem_pthread.dylib`_pthread_cond_wait + 724
        frame [#2](/bitcoin-bitcoin/2/): 0x00007fff55f71bda libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 18
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010021d4f4 bitcoin-qt`waitforblock(JSONRPCRequest const&) + 2996
        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
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000100283815 bitcoin-qt`CRPCTable::execute(JSONRPCRequest const&) const + 1093
        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
        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]
        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]
        frame [#9](/bitcoin-bitcoin/9/): 0x000000010005ad4c bitcoin-qt`RPCExecutor::request(this=0x000000010271d0c0, command=<unavailable>, wallet_model=0x0000000000000000) at rpcconsole.cpp:417 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x0000000101f5f9f1 QtCore`QObject::event(QEvent*) + 769
        frame [#11](/bitcoin-bitcoin/11/): 0x000000010128b46d QtWidgets`QApplicationPrivate::notify_helper(QObject*, QEvent*) + 269
        frame [#12](/bitcoin-bitcoin/12/): 0x000000010128c897 QtWidgets`QApplication::notify(QObject*, QEvent*) + 583
        frame [#13](/bitcoin-bitcoin/13/): 0x0000000101f35f64 QtCore`QCoreApplication::notifyInternal2(QObject*, QEvent*) + 164
        frame [#14](/bitcoin-bitcoin/14/): 0x0000000101f370d7 QtCore`QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 791
        frame [#15](/bitcoin-bitcoin/15/): 0x0000000101f8b908 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 72
        frame [#16](/bitcoin-bitcoin/16/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
        frame [#17](/bitcoin-bitcoin/17/): 0x0000000101d7516c QtCore`QThread::exec() + 140
        frame [#18](/bitcoin-bitcoin/18/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
        frame [#19](/bitcoin-bitcoin/19/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#20](/bitcoin-bitcoin/20/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#21](/bitcoin-bitcoin/21/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#26](/bitcoin-bitcoin/26/), name = 'QThread'
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff589dd2ee libsystem_kernel.dylib`poll + 10
        frame [#1](/bitcoin-bitcoin/1/): 0x0000000101f8a3a0 QtCore`qt_safe_poll(pollfd*, unsigned int, timespec const*) + 576
        frame [#2](/bitcoin-bitcoin/2/): 0x0000000101f8bc29 QtCore`QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 873
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000101f313de QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 430
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000101d7516c QtCore`QThread::exec() + 140
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000101d7e65e QtCore`___lldb_unnamed_symbol310$$QtCore + 350
        frame [#6](/bitcoin-bitcoin/6/): 0x00007fff58a8f305 libsystem_pthread.dylib`_pthread_body + 126
        frame [#7](/bitcoin-bitcoin/7/): 0x00007fff58a9226f libsystem_pthread.dylib`_pthread_start + 70
        frame [#8](/bitcoin-bitcoin/8/): 0x00007fff58a8e415 libsystem_pthread.dylib`thread_start + 13
      thread [#27](/bitcoin-bitcoin/27/)
        frame [#0](/bitcoin-bitcoin/0/): 0x00007fff58a8e3f8 libsystem_pthread.dylib`start_wqthread
      thread [#28](/bitcoin-bitcoin/28/)
        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: 2026-04-13 15:14 UTC

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