[`v30.0rc3`]`bitcoin-node` aborts with mining IPC interface usage #33554

issue plebhash opened this issue on October 6, 2025
  1. plebhash commented at 10:20 PM on October 6, 2025: none

    this is similar to #33463 cc @ryanofsky

    however there's no usage of waitTipChanged, only waitNext... and the proble is not that bitcoin-node is unkillable, but that it aborts

    steps to reproduce:

    • build bitcoin-node from v30.0rc3 tag
    • clone https://github.com/plebhash/sv2-bitcoin-core
    • check out 2025-10-06-abort-proxy-io branch
    • launch bitcoin-node with -ipc-bind=unix
    • launch sv2-bitcoin-core with cargo run --example logger "/path/to/node.sock"

    here's a stack trace of bitcoin-node with a failed assertion at file proxy-io.h, line 289:

    https://pastebin.com/uugSA6cD

    and another one with a failed assertion at file proxy.h, line 59:

    https://pastebin.com/g2NBei2n

    (exceeds 65536 characters so github doesn't allow me to paste here, I hope I'm not violating any rules)

  2. plebhash commented at 10:45 PM on October 6, 2025: none

    also reproducible on v30-0rc1 tag

  3. plebhash commented at 10:57 PM on October 6, 2025: none

    one relevant detail here is that our rust code has evolved from what it looked like when I first reported #33463, and there I did not witness this behavior

    now, every 10s, we receive a Sv2 CoinbaseOutputConstraints message, which is meant to set the coinbase parameters with regards to blockspace consumption (weight and sigops)

    so everytime this message arrives, we create a fresh new BlockTemplate IPC client with those new parameters

    we do not call destroy on the previous one, because we don't know if we could still receive a submitSolution associated with a template that was generated from it

    so we keep clones of past BlockTemplate IPC client in memory (as many clones as templates generated from the same instance) and drop them all whenever there's a new chain tip (also without calling destroy)

  4. ryanofsky commented at 12:44 AM on October 7, 2025: contributor

    (So far I'm not able to reproduce a crash with v30.0rc3, but that might just be because I was testing with regtest.)

    The assert you see happening on line 289 just happens when the IPC client asks the server to execute multiple IPC calls simultaneously on the same thread. The IPC server does not expect this and currently aborts when it happens.

    It is possible for the server to execute multiple IPC calls simultaneously, but the client needs to create more than one thread thread with ThreadMap.makeThread and assign different threads to the IPC calls that are supposed to execute simultaneously.

    The server is pretty fragile and unhelpful for failing this way, but a recently merged PR https://github.com/bitcoin-core/libmultiprocess/pull/214 should make the situation better by having the server return with a "thread busy" error instead of aborting when this happens.

  5. fanquake added the label interfaces on Oct 7, 2025
  6. ryanofsky commented at 1:19 PM on October 7, 2025: contributor

    Just to be clear about next steps, the node aborts should be prevented by https://github.com/bitcoin-core/libmultiprocess/pull/214 which is set to be backported in #33519. (The aborts were originally intentional but are an unnecessarily harsh way to fail, so those PR's replace them with IPC "thread busy" errors.)

    Regardless of this, the rust client code needs to be changed to either not make other IPC calls at the same time as there is an active waitNext() IPC call, or to just create more server threads and request the waitNext call to run on a different thread than the other IPC calls.

  7. plebhash commented at 8:40 PM on October 7, 2025: none

    I updated the code with the advice above and bitcoin-node no longer crashes during normal operation... I can leave it running for hours without a crash.

    But if I kill my rust code, it still causes a crash on bitcoin-node... I wonder if I'm still doing something wrong on shutdown?

    steps to reproduce:

    • build bitcoin-node from #33519
    • clone https://github.com/plebhash/sv2-bitcoin-core
    • check out 2025-10-06-abort-proxy-io branch
    • launch bitcoin-node with -ipc-bind=unix (connected to testnet4)
    • launch sv2-bitcoin-core with cargo run --example logger "/path/to/node.sock"
    • wait for at least one mempool fee change
    • kill the rust code with ctrl+c

    here's stack trace:

    Assertion failed: (m_loop), function operator*, file proxy.h, line 59.
    Process 6886 stopped
    * thread [#45](/bitcoin-bitcoin/45/), stop reason = hit program assert
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100620940 bitcoin-node`mp::EventLoopRef::operator*(this=<unavailable>) const at proxy.h:59:36 [opt] [inlined]
    Target 0: (bitcoin-node) stopped.
    warning: bitcoin-node was compiled with optimization - stepping may behave oddly; variables may not be available.
    (lldb) thread backtrace all
      thread [#1](/bitcoin-bitcoin/1/), queue = 'com.apple.main-thread'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa67dc libsystem_kernel.dylib`read + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000010074df40 bitcoin-node`TokenPipeEnd::TokenRead(this=0x0000000100a38788) at tokenpipe.cpp:60:26 [opt]
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010073a600 bitcoin-node`util::SignalInterrupt::wait(this=<unavailable>) at signalinterrupt.cpp:69:24 [opt]
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001000042f4 bitcoin-node`main(argc=<unavailable>, argv=<unavailable>) at bitcoind.cpp:283:58 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000018cc46b98 dyld`start + 6076
      thread [#2](/bitcoin-bitcoin/2/), name = 'b-scheduler'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001006baf5c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=<unavailable>, __lk=0x000000016fe86e68, __d=<unavailable>) at condition_variable.h:0 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001006baf4c bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<std::__1::chrono::steady_clock>(this=<unavailable>, __lk=0x000000016fe86e68, __tp=time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1L, 1000000000L> > > @ x23) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001006baf4c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>(this=<unavailable>, __lk=0x000000016fe86e68, __t=<unavailable>) at condition_variable.h:161:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x00000001006baf4c bitcoin-node`CScheduler::serviceQueue(this=0x000060000214c000) at scheduler.cpp:43:38 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x000000016fe86f78) const at function.h:436:12 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x000000016fe86f78) const at function.h:995:10 [opt] [inlined]
        frame [#9](/bitcoin-bitcoin/9/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="scheduler", thread_func=function<void ()> @ 0x000000016fe86f78) at thread.cpp:21:9 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x0000000100088eac bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>(__f=0x000060000104daa8, __args=0x000060000104dab0, __args=0x000060000104dab8) at invoke.h:179:25 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x0000000100088e78 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x0000000100088e78 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, AppInitMain(node::NodeContext&, interfaces::BlockAndHeaderTipInfo*)::$_7>>(__vp=0x000060000104daa0) at thread.h:208:3 [opt]
        frame [#13](/bitcoin-bitcoin/13/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#3](/bitcoin-bitcoin/3/), name = 'b-capnp-loop'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfabd04 libsystem_kernel.dylib`kevent + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000010145ce70 libkj-async.1.0.2.dylib`kj::UnixEventPort::doKqueueWait(timespec*) + 76
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010145d470 libkj-async.1.0.2.dylib`kj::UnixEventPort::wait() + 144
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010144f46c libkj-async.1.0.2.dylib`kj::EventLoop::wait() + 40
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010144faa8 libkj-async.1.0.2.dylib`kj::_::waitImpl(kj::Own<kj::_::PromiseNode, kj::_::PromiseDisposer>&&, kj::_::ExceptionOrValue&, kj::WaitScope&, kj::SourceLocation) + 528
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000100622b28 bitcoin-node`kj::Promise<unsigned long>::wait(this=<unavailable>, waitScope=<unavailable>, location=(fileName = "ipc/libmultiprocess/src/mp/proxy.cpp", function = "loop", lineNumber = 240, columnNumber = 68)) at async-inl.h:1357:3 [opt]
        frame [#6](/bitcoin-bitcoin/6/): 0x0000000100622168 bitcoin-node`mp::EventLoop::loop(this=0x0000000127704768) at proxy.cpp:240:68 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010038e4c4 bitcoin-node`ipc::capnp::(anonymous namespace)::CapnpProtocol::startLoop(char const*)::'lambda'()::operator()(this=0x000060000104dae8) const at protocol.cpp:96:21 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010038e41c bitcoin-node`decltype(std::declval<ipc::capnp::(anonymous namespace)::CapnpProtocol::startLoop(char const*)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<ipc::capnp::(anonymous namespace)::CapnpProtocol::startLoop(char const*)::'lambda'()>(__f=0x000060000104dae8) at invoke.h:179:25 [opt] [inlined]
        frame [#9](/bitcoin-bitcoin/9/): 0x000000010038e41c bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, ipc::capnp::(anonymous namespace)::CapnpProtocol::startLoop(char const*)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010038e41c bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, ipc::capnp::(anonymous namespace)::CapnpProtocol::startLoop(char const*)::'lambda'()>>(__vp=0x000060000104dae0) at thread.h:208:3 [opt]
        frame [#11](/bitcoin-bitcoin/11/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#4](/bitcoin-bitcoin/4/), name = 'b-http'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfabd04 libsystem_kernel.dylib`kevent + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x0000000101093a90 libevent_core-2.1.7.dylib`kq_dispatch + 492
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010108a0b8 libevent_core-2.1.7.dylib`event_base_loop + 596
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001000479a0 bitcoin-node`ThreadHTTP(base=0x0000000127604340) at httpserver.cpp:355:5 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010004e120 bitcoin-node`decltype(std::declval<void (*)(event_base*)>()(std::declval<event_base*>())) std::__1::__invoke[abi:ne200100]<void (*)(event_base*), event_base*>(__f=0x000060000104db08, __args=0x000060000104db10) at invoke.h:179:25 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004e118 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*, 2ul>(__t=size=3, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004e118 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(event_base*), event_base*>>(__vp=0x000060000104db00) at thread.h:208:3 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#5](/bitcoin-bitcoin/5/), name = 'b-httpworker.0'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=0) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104e588, __args=0x000060000104e590, __args=0x000060000104e598) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104e580) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#6](/bitcoin-bitcoin/6/), name = 'b-httpworker.1'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=1) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104df08, __args=0x000060000104df10, __args=0x000060000104df18) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104df00) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#7](/bitcoin-bitcoin/7/), name = 'b-httpworker.2'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=2) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104df48, __args=0x000060000104df50, __args=0x000060000104df58) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104df40) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#8](/bitcoin-bitcoin/8/), name = 'b-httpworker.3'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=3) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104df68, __args=0x000060000104df70, __args=0x000060000104df78) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104df60) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#9](/bitcoin-bitcoin/9/), name = 'b-httpworker.4'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=4) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104df88, __args=0x000060000104df90, __args=0x000060000104df98) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104df80) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#10](/bitcoin-bitcoin/10/), name = 'b-httpworker.5'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=5) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104df28, __args=0x000060000104df30, __args=0x000060000104df38) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104df20) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#11](/bitcoin-bitcoin/11/), name = 'b-httpworker.6'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=6) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104dfa8, __args=0x000060000104dfb0, __args=0x000060000104dfb8) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104dfa0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#12](/bitcoin-bitcoin/12/), name = 'b-httpworker.7'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=7) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104dfc8, __args=0x000060000104dfd0, __args=0x000060000104dfd8) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104dfc0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#13](/bitcoin-bitcoin/13/), name = 'b-httpworker.8'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=8) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104dfe8, __args=0x000060000104dff0, __args=0x000060000104dff8) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104dfe0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#14](/bitcoin-bitcoin/14/), name = 'b-httpworker.9'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=9) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104e008, __args=0x000060000104e010, __args=0x000060000104e018) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104e000) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#15](/bitcoin-bitcoin/15/), name = 'b-httpworker.10'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=10) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104e028, __args=0x000060000104e030, __args=0x000060000104e038) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104e020) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#16](/bitcoin-bitcoin/16/), name = 'b-httpworker.11'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=11) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104e048, __args=0x000060000104e050, __args=0x000060000104e058) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104e040) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#17](/bitcoin-bitcoin/17/), name = 'b-httpworker.12'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=12) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104e068, __args=0x000060000104e070, __args=0x000060000104e078) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104e060) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#18](/bitcoin-bitcoin/18/), name = 'b-httpworker.13'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=13) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104ea88, __args=0x000060000104ea90, __args=0x000060000104ea98) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104ea80) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#19](/bitcoin-bitcoin/19/), name = 'b-httpworker.14'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=14) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104eaa8, __args=0x000060000104eab0, __args=0x000060000104eab8) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104eaa0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#20](/bitcoin-bitcoin/20/), name = 'b-httpworker.15'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010004d56c bitcoin-node`WorkQueue<HTTPClosure>::Run(this=0x0000600002748b00) at httpserver.cpp:111:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x0000000100047a94 bitcoin-node`HTTPWorkQueueRun(queue=0x0000600002748b00, worker_num=15) at httpserver.cpp:419:12 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010004d2c8 bitcoin-node`decltype(std::declval<void (*)(WorkQueue<HTTPClosure>*, int)>()(std::declval<WorkQueue<HTTPClosure>*>(), std::declval<int>())) std::__1::__invoke[abi:ne200100]<void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int>(__f=0x000060000104eac8, __args=0x000060000104ead0, __args=0x000060000104ead8) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010004d2bc bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(WorkQueue<HTTPClosure>*, int), WorkQueue<HTTPClosure>*, int, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010004d2bc bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<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>>(__vp=0x000060000104eac0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#21](/bitcoin-bitcoin/21/), name = 'b-scriptch.0'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x000060000104d6e0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#22](/bitcoin-bitcoin/22/), name = 'b-scriptch.1'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x000060000104eb40) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#23](/bitcoin-bitcoin/23/), name = 'b-scriptch.2'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x000060000104eb60) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#24](/bitcoin-bitcoin/24/), name = 'b-scriptch.3'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x000060000104eb80) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#25](/bitcoin-bitcoin/25/), name = 'b-scriptch.4'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x0000600001040000) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#26](/bitcoin-bitcoin/26/), name = 'b-scriptch.5'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x0000600001040020) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#27](/bitcoin-bitcoin/27/), name = 'b-scriptch.6'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x0000600001040040) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#28](/bitcoin-bitcoin/28/), name = 'b-scriptch.7'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x0000600001040060) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#29](/bitcoin-bitcoin/29/), name = 'b-scriptch.8'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x0000600001040080) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#30](/bitcoin-bitcoin/30/), name = 'b-scriptch.9'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x00006000010400a0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#31](/bitcoin-bitcoin/31/), name = 'b-scriptch.10'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100375a34 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::Loop(this=0x000000012800ca30, fMaster=<unavailable>) at checkqueue.h:108:26 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010037dc84 bitcoin-node`CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()::operator()(this=<unavailable>) const at checkqueue.h:152:17 [opt]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010037db28 bitcoin-node`decltype(std::declval<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>()()) std::__1::__invoke[abi:ne200100]<CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010037db24 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010037db20 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, CCheckQueue<CScriptCheck, std::__1::pair<ScriptError_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>::CCheckQueue(unsigned int, int)::'lambda'()>>(__vp=0x00006000010400c0) at thread.h:208:3 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#32](/bitcoin-bitcoin/32/), name = 'b-mapport'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010074cb3c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=0x0000000100a387d8, __lk=0x0000000170f7acc8, __d=<unavailable>) at duration.h:0:33 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010074cb30 bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<std::__1::chrono::steady_clock>(this=0x0000000100a387d8, __lk=0x0000000170f7acc8, __tp=time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1L, 1000000000L> > > @ x20) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010074cb30 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>(this=0x0000000100a387d8, __lk=0x0000000170f7acc8, __t=<unavailable>) at condition_variable.h:161:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000100a387d8, __lk=0x0000000170f7acc8, __t=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:169:9 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_for[abi:ne200100]<long long, std::__1::ratio<1l, 1000000000l>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000100a387d8, __lk=0x0000000170f7acc8, __d=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:205:10 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010074cafc bitcoin-node`CThreadInterrupt::sleep_for(this=0x0000000100a387d8, rel_time=<unavailable>) at threadinterrupt.cpp:34:18 [opt]
        frame [#9](/bitcoin-bitcoin/9/): 0x000000010009110c bitcoin-node`ThreadMapPort() at mapport.cpp:126:34 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x0000000170f7af78) const at function.h:436:12 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this= Function = ThreadMapPort() ) const at function.h:995:10 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="mapport", thread_func= Function = ThreadMapPort() ) at thread.cpp:21:9 [opt]
        frame [#13](/bitcoin-bitcoin/13/): 0x00000001000920f0 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<void (*)()>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, void (*)()>(__f=0x00006000010885e8, __args=0x00006000010885f0, __args=0x00006000010885f8) at invoke.h:179:25 [opt] [inlined]
        frame [#14](/bitcoin-bitcoin/14/): 0x00000001000920ac bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, void (*)(), 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#15](/bitcoin-bitcoin/15/): 0x00000001000920ac bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, void (*)()>>(__vp=0x00006000010885e0) at thread.h:208:3 [opt]
        frame [#16](/bitcoin-bitcoin/16/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#33](/bitcoin-bitcoin/33/), name = 'b-torcontrol'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfabd04 libsystem_kernel.dylib`kevent + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x0000000101093a90 libevent_core-2.1.7.dylib`kq_dispatch + 492
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010108a0b8 libevent_core-2.1.7.dylib`event_base_loop + 596
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010031dd68 bitcoin-node`TorControlThread(onion_service_target=CService @ 0x0000000171006ce8) at torcontrol.cpp:684:5 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010031dcf0 bitcoin-node`StartTorControl(CService)::$_0::operator()(this=<unavailable>) const at torcontrol.cpp:702:9 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010031dbc8 bitcoin-node`decltype(std::declval<StartTorControl(CService)::$_0&>()()) std::__1::__invoke[abi:ne200100]<StartTorControl(CService)::$_0&>(__f=<unavailable>) at invoke.h:179:25 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010031dbc8 bitcoin-node`void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne200100]<StartTorControl(CService)::$_0&>(__args=<unavailable>) at invoke.h:251:5 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010031dbc8 bitcoin-node`void std::__1::__invoke_r[abi:ne200100]<void, StartTorControl(CService)::$_0&>(__args=<unavailable>) at invoke.h:273:10 [opt] [inlined]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x0000000171006f48) const at function.h:436:12 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x0000000171006f48) const at function.h:995:10 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="torcontrol", thread_func=function<void ()> @ 0x0000000171006f48) at thread.cpp:21:9 [opt]
        frame [#13](/bitcoin-bitcoin/13/): 0x000000010031d4c4 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<StartTorControl(CService)::$_0>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, StartTorControl(CService)::$_0>(__f=0x0000600000ac9e08, __args=0x0000600000ac9e10, __args=0x0000600000ac9e18) at invoke.h:179:25 [opt] [inlined]
        frame [#14](/bitcoin-bitcoin/14/): 0x000000010031d464 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, StartTorControl(CService)::$_0, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#15](/bitcoin-bitcoin/15/): 0x000000010031d464 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, StartTorControl(CService)::$_0>>(__vp=0x0000600000ac9e00) at thread.h:208:3 [opt]
        frame [#16](/bitcoin-bitcoin/16/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#34](/bitcoin-bitcoin/34/), name = 'b-net'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfb0c2c libsystem_kernel.dylib`__select + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000010073b304 bitcoin-node`Sock::WaitMany(this=<unavailable>, timeout=50 ms, events_per_sock=size=13) const at sock.cpp:223:9 [opt]
        frame [#2](/bitcoin-bitcoin/2/): 0x000000010009f4e4 bitcoin-node`CConnman::SocketHandler(this=0x0000000128009400) at net.cpp:2105:73 [opt]
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001000a0080 bitcoin-node`CConnman::ThreadSocketHandler(this=0x0000000128009400) at net.cpp:2237:9 [opt]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x0000000171092f78) const at function.h:436:12 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x0000000171092f78) const at function.h:995:10 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="net", thread_func=function<void ()> @ 0x0000000171092f78) at thread.cpp:21:9 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x00000001000b8b88 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<CConnman::Start(CScheduler&, CConnman::Options const&)::$_2>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_2>(__f=0x0000600001044068, __args=0x0000600001044070, __args=0x0000600001044078) at invoke.h:179:25 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x00000001000b8b54 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_2, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#9](/bitcoin-bitcoin/9/): 0x00000001000b8b54 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_2>>(__vp=0x0000600001044060) at thread.h:208:3 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#35](/bitcoin-bitcoin/35/), name = 'b-addcon'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010074cb3c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=0x0000000128009748, __lk=0x00000001711aad88, __d=<unavailable>) at duration.h:0:33 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010074cb30 bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<std::__1::chrono::steady_clock>(this=0x0000000128009748, __lk=0x00000001711aad88, __tp=time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1L, 1000000000L> > > @ x20) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010074cb30 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>(this=0x0000000128009748, __lk=0x00000001711aad88, __t=<unavailable>) at condition_variable.h:161:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000128009748, __lk=0x00000001711aad88, __t=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:169:9 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_for[abi:ne200100]<long long, std::__1::ratio<1l, 1000000000l>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000128009748, __lk=0x00000001711aad88, __d=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:205:10 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010074cafc bitcoin-node`CThreadInterrupt::sleep_for(this=0x0000000128009748, rel_time=<unavailable>) at threadinterrupt.cpp:34:18 [opt]
        frame [#9](/bitcoin-bitcoin/9/): 0x00000001000a5cc0 bitcoin-node`CConnman::ThreadOpenAddedConnections(this=0x0000000128009400) at net.cpp:2984:27 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x00000001711aaf78) const at function.h:436:12 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x00000001711aaf78) const at function.h:995:10 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="addcon", thread_func=function<void ()> @ 0x00000001711aaf78) at thread.cpp:21:9 [opt]
        frame [#13](/bitcoin-bitcoin/13/): 0x00000001000b9548 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<CConnman::Start(CScheduler&, CConnman::Options const&)::$_4>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_4>(__f=0x00006000010440a8, __args=0x00006000010440b0, __args=0x00006000010440b8) at invoke.h:179:25 [opt] [inlined]
        frame [#14](/bitcoin-bitcoin/14/): 0x00000001000b9514 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_4, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#15](/bitcoin-bitcoin/15/): 0x00000001000b9514 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_4>>(__vp=0x00006000010440a0) at thread.h:208:3 [opt]
        frame [#16](/bitcoin-bitcoin/16/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#36](/bitcoin-bitcoin/36/), name = 'b-opencon'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x000000010074cb3c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=0x0000000128009748, __lk=0x00000001712369d8, __d=<unavailable>) at duration.h:0:33 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010074cb30 bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<std::__1::chrono::steady_clock>(this=0x0000000128009748, __lk=0x00000001712369d8, __tp=time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1L, 1000000000L> > > @ x20) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010074cb30 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>(this=0x0000000128009748, __lk=0x00000001712369d8, __t=<unavailable>) at condition_variable.h:161:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000128009748, __lk=0x00000001712369d8, __t=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:169:9 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010074cb30 bitcoin-node`bool std::__1::condition_variable::wait_for[abi:ne200100]<long long, std::__1::ratio<1l, 1000000000l>, CThreadInterrupt::sleep_for(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>)::$_0>(this=0x0000000128009748, __lk=0x00000001712369d8, __d=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:205:10 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010074cafc bitcoin-node`CThreadInterrupt::sleep_for(this=0x0000000128009748, rel_time=<unavailable>) at threadinterrupt.cpp:34:18 [opt]
        frame [#9](/bitcoin-bitcoin/9/): 0x00000001000a22d8 bitcoin-node`CConnman::ThreadOpenConnections(this=0x0000000128009400, connect=<unavailable>, seed_nodes=size=0) at net.cpp:2583:27 [opt]
        frame [#10](/bitcoin-bitcoin/10/): 0x00000001000ba1b8 bitcoin-node`CConnman::Start(CScheduler&, CConnman::Options const&)::$_5::operator()(this=0x0000600000ac9f08) const at net.cpp:3382:102 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x00000001000ba170 bitcoin-node`decltype(std::declval<CConnman::Start(CScheduler&, CConnman::Options const&)::$_5&>()()) std::__1::__invoke[abi:ne200100]<CConnman::Start(CScheduler&, CConnman::Options const&)::$_5&>(__f=0x0000600000ac9f08) at invoke.h:179:25 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x00000001000ba170 bitcoin-node`void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ne200100]<CConnman::Start(CScheduler&, CConnman::Options const&)::$_5&>(__args=0x0000600000ac9f08) at invoke.h:251:5 [opt] [inlined]
        frame [#13](/bitcoin-bitcoin/13/): 0x00000001000ba170 bitcoin-node`void std::__1::__invoke_r[abi:ne200100]<void, CConnman::Start(CScheduler&, CConnman::Options const&)::$_5&>(__args=0x0000600000ac9f08) at invoke.h:273:10 [opt] [inlined]
        frame [#16](/bitcoin-bitcoin/16/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x0000000171236f48) const at function.h:436:12 [opt] [inlined]
        frame [#17](/bitcoin-bitcoin/17/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x0000000171236f48) const at function.h:995:10 [opt] [inlined]
        frame [#18](/bitcoin-bitcoin/18/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="opencon", thread_func=function<void ()> @ 0x0000000171236f48) at thread.cpp:21:9 [opt]
        frame [#19](/bitcoin-bitcoin/19/): 0x00000001000b9a94 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<CConnman::Start(CScheduler&, CConnman::Options const&)::$_5>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_5>(__f=0x000060000335c148, __args=0x000060000335c150, __args=0x000060000335c158) at invoke.h:179:25 [opt] [inlined]
        frame [#20](/bitcoin-bitcoin/20/): 0x00000001000b9a04 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_5, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#21](/bitcoin-bitcoin/21/): 0x00000001000b9a04 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_5>>(__vp=<unavailable>) at thread.h:208:3 [opt]
        frame [#22](/bitcoin-bitcoin/22/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#37](/bitcoin-bitcoin/37/), name = 'b-msghand'
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001000a6028 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=<unavailable>, __lk=0x00000001712c2e80, __d=<unavailable>) at duration.h:0:33 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001000a601c bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<std::__1::chrono::steady_clock>(this=<unavailable>, __lk=0x00000001712c2e80, __tp=time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1L, 1000000000L> > > @ x22) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001000a601c bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>(this=<unavailable>, __lk=0x00000001712c2e80, __t=<unavailable>) at condition_variable.h:161:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x00000001000a601c bitcoin-node`bool std::__1::condition_variable::wait_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>, CConnman::ThreadMessageHandler()::$_0>(this=<unavailable>, __lk=0x00000001712c2e80, __t=<unavailable>, __pred=(unnamed class) @ x19) at condition_variable.h:169:9 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x00000001000a601c bitcoin-node`CConnman::ThreadMessageHandler(this=0x0000000128009400) at net.cpp:3070:25 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x000000010074c844 bitcoin-node`std::__1::__function::__value_func<void ()>::operator()[abi:ne200100](this=0x00000001712c2f78) const at function.h:436:12 [opt] [inlined]
        frame [#9](/bitcoin-bitcoin/9/): 0x000000010074c830 bitcoin-node`std::__1::function<void ()>::operator()(this=0x00000001712c2f78) const at function.h:995:10 [opt] [inlined]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010074c830 bitcoin-node`util::TraceThread(thread_name="msghand", thread_func=function<void ()> @ 0x00000001712c2f78) at thread.cpp:21:9 [opt]
        frame [#11](/bitcoin-bitcoin/11/): 0x00000001000ba4e4 bitcoin-node`decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<char const*>(), std::declval<CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>())) std::__1::__invoke[abi:ne200100]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>(__f=0x00006000010440c8, __args=0x00006000010440d0, __args=0x00006000010440d8) at invoke.h:179:25 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x00000001000ba4b0 bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6, 2ul, 3ul>(__t=size=4, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#13](/bitcoin-bitcoin/13/): 0x00000001000ba4b0 bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), char const*, CConnman::Start(CScheduler&, CConnman::Options const&)::$_6>>(__vp=0x00006000010440c0) at thread.h:208:3 [opt]
        frame [#14](/bitcoin-bitcoin/14/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#40](/bitcoin-bitcoin/40/)
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18268 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
        frame [#3](/bitcoin-bitcoin/3/): 0x00000001006250b8 bitcoin-node`mp::EventLoop::startAsyncThread()::$_0::operator()(this=0x000060000126c108) const at proxy.cpp:305:22 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x000000010062506c bitcoin-node`decltype(std::declval<mp::EventLoop::startAsyncThread()::$_0>()()) std::__1::__invoke[abi:ne200100]<mp::EventLoop::startAsyncThread()::$_0>(__f=0x000060000126c108) at invoke.h:179:25 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x000000010062506c bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::EventLoop::startAsyncThread()::$_0>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010062506c bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::EventLoop::startAsyncThread()::$_0>>(__vp=0x000060000126c100) at thread.h:208:3 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
      thread [#44](/bitcoin-bitcoin/44/)
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfa93cc libsystem_kernel.dylib`__psynch_cvwait + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe80e0 libsystem_pthread.dylib`_pthread_cond_wait + 984
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cf18300 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>>>) + 104
        frame [#3](/bitcoin-bitcoin/3/): 0x0000000100174704 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_for<long long, std::__1::ratio<1l, 1000000000l>>(this=0x0000600002548d10, __lk=0x0000000177742708, __d=<unavailable>) at condition_variable.h:0 [opt] [inlined]
        frame [#4](/bitcoin-bitcoin/4/): 0x00000001001746c8 bitcoin-node`void std::__1::condition_variable::__do_timed_wait[abi:ne200100]<NodeClock>(this=0x0000600002548d10, __lk=0x0000000177742708, __tp=<unavailable>) at condition_variable.h:235:3 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x00000001001746c8 bitcoin-node`std::__1::cv_status std::__1::condition_variable::wait_until<NodeClock, std::__1::chrono::duration<double, std::__1::ratio<1l, 1000000l>>>(this=0x0000600002548d10, __lk=0x0000000177742708, __t=0x00000001777426f8) at condition_variable.h:161:3 [opt]
        frame [#6](/bitcoin-bitcoin/6/): 0x000000010016e074 bitcoin-node`bool std::__1::condition_variable::wait_until<NodeClock, std::__1::chrono::duration<double, std::__1::ratio<1l, 1000000l>>, node::WaitAndCreateNewBlock(ChainstateManager&, node::KernelNotifications&, CTxMemPool*, std::__1::unique_ptr<node::CBlockTemplate, std::__1::default_delete<node::CBlockTemplate>> const&, node::BlockWaitOptions const&, node::BlockAssembler::Options const&)::$_0>(this=<unavailable>, __lk=0x0000000177742708, __t=0x00000001777426f8, __pred=<unavailable>) at condition_variable.h:169:9 [opt] [inlined]
        frame [#7](/bitcoin-bitcoin/7/): 0x000000010016e010 bitcoin-node`node::WaitAndCreateNewBlock(chainman=0x000000012800ca00, kernel_notifications=0x0000600002548cc0, mempool=0x0000000127715900, block_template=node::CBlockTemplate @ 0x000060002e8681a0, options=0x0000000177742878, assemble_options=0x0000600003e68008) at miner.cpp:479:49 [opt]
        frame [#8](/bitcoin-bitcoin/8/): 0x00000001001647f4 bitcoin-node`node::(anonymous namespace)::BlockTemplateImpl::waitNext(this=0x0000600003e68000, options=BlockWaitOptions @ 0x0000000177742878) at interfaces.cpp:921:29 [opt]
        frame [#9](/bitcoin-bitcoin/9/): 0x0000000100446ef8 bitcoin-node`decltype(auto) mp::ProxyMethodTraits<ipc::capnp::messages::BlockTemplate::WaitNextParams, void>::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, node::BlockWaitOptions>(server_context=0x0000000177742b10, args=<unavailable>) at proxy.h:288:16 [opt] [inlined]
        frame [#10](/bitcoin-bitcoin/10/): 0x0000000100446edc bitcoin-node`decltype(auto) mp::ServerCall::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, node::BlockWaitOptions>(this=<unavailable>, server_context=0x0000000177742b10, (null)=<unavailable>, args=<unavailable>) const at proxy-types.h:448:16 [opt] [inlined]
        frame [#11](/bitcoin-bitcoin/11/): 0x0000000100446edc bitcoin-node`void mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, node::BlockWaitOptions>(this=0x0000600001e54b9c, server_context=0x0000000177742b10, (null)=<unavailable>, args=0x0000000177742a78) const at proxy-types.h:471:33 [opt]
        frame [#12](/bitcoin-bitcoin/12/): 0x0000000100446e20 bitcoin-node`void mp::PassField<mp::Accessor<mp::mining_fields::Options, 17>, node::BlockWaitOptions, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall> const&, mp::TypeList<>>((null)=<unavailable>, (null)=<unavailable>, server_context=0x0000000177742b10, fn=0x0000600001e54b9c, args=0x0000000177742b98) at proxy-types.h:307:8 [opt]
        frame [#13](/bitcoin-bitcoin/13/): 0x0000000100446338 bitcoin-node`decltype(auto) mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>>::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::TypeList<node::BlockWaitOptions>>(this=<unavailable>, server_context=0x0000000177742b10, (null)=<unavailable>) const at proxy-types.h:539:16 [opt] [inlined]
        frame [#14](/bitcoin-bitcoin/14/): 0x0000000100446330 bitcoin-node`std::__1::enable_if<std::is_same<decltype(mp::Accessor<mp::mining_fields::Context, 17>::get(fp1.call_context.getParams())), mp::Context::Reader>::value, kj::Promise<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>::CallContext>>::type mp::PassField<mp::Accessor<mp::mining_fields::Context, 17>, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>>, mp::TypeList<node::BlockWaitOptions>>(mp::Priority<1>, mp::TypeList<>, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>&, mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>> const&, mp::TypeList<node::BlockWaitOptions>&&)::'lambda'()::operator()(this=<unavailable>) at type-context.h:126:24 [opt]
        frame [#15](/bitcoin-bitcoin/15/): 0x000000010039d40c bitcoin-node`kj::Function<void ()>::operator()(this=0x0000000177742f30) at function.h:119:12 [opt] [inlined]
        frame [#16](/bitcoin-bitcoin/16/): 0x000000010039d3fc bitcoin-node`void mp::Unlock<mp::Lock, kj::Function<void ()>&>(lock=0x0000000177742f50, callback=0x0000000177742f30) at util.h:209:5 [opt]
        frame [#17](/bitcoin-bitcoin/17/): 0x00000001006261dc bitcoin-node`void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(mp::Lock&, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'())::'lambda'()::operator()(this=<unavailable>) const at proxy-io.h:352:17 [opt]
        frame [#18](/bitcoin-bitcoin/18/): 0x00000001006261b8 bitcoin-node`void std::__1::condition_variable::wait<void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(mp::Lock&, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'())::'lambda'()>(this=<unavailable>, __lk=0x0000000177742f50, __pred=<unavailable>) at condition_variable.h:146:11 [opt] [inlined]
        frame [#19](/bitcoin-bitcoin/19/): 0x00000001006261ac bitcoin-node`void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(this=0x0000600002268120, lock=0x0000000177742f50, pred=<unavailable>) at proxy-io.h:343:14 [opt] [inlined]
        frame [#20](/bitcoin-bitcoin/20/): 0x0000000100626184 bitcoin-node`mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()(this=0x0000600001e54ba8) const at proxy.cpp:419:34 [opt] [inlined]
        frame [#21](/bitcoin-bitcoin/21/): 0x0000000100625c9c bitcoin-node`decltype(std::declval<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>()()) std::__1::__invoke[abi:ne200100]<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>(__f=0x0000600001e54ba8) at invoke.h:179:25 [opt] [inlined]
        frame [#22](/bitcoin-bitcoin/22/): 0x0000000100625c9c bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#23](/bitcoin-bitcoin/23/): 0x0000000100625c9c bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>>(__vp=0x0000600001e54ba0) at thread.h:208:3 [opt]
        frame [#24](/bitcoin-bitcoin/24/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
    * thread [#45](/bitcoin-bitcoin/45/), stop reason = hit program assert
        frame [#0](/bitcoin-bitcoin/0/): 0x000000018cfae388 libsystem_kernel.dylib`__pthread_kill + 8
        frame [#1](/bitcoin-bitcoin/1/): 0x000000018cfe788c libsystem_pthread.dylib`pthread_kill + 296
        frame [#2](/bitcoin-bitcoin/2/): 0x000000018cef0a3c libsystem_c.dylib`abort + 124
        frame [#3](/bitcoin-bitcoin/3/): 0x000000018ceefc70 libsystem_c.dylib`__assert_rtn + 284
      * frame [#4](/bitcoin-bitcoin/4/): 0x0000000100620940 bitcoin-node`mp::EventLoopRef::operator*(this=<unavailable>) const at proxy.h:59:36 [opt] [inlined]
        frame [#5](/bitcoin-bitcoin/5/): 0x0000000100620920 bitcoin-node`mp::ProxyContext::ProxyContext(this=<unavailable>, connection=<unavailable>) at proxy.cpp:81:83 [opt] [inlined]
        frame [#6](/bitcoin-bitcoin/6/): 0x0000000100620920 bitcoin-node`mp::ProxyContext::ProxyContext(this=<unavailable>, connection=<unavailable>) at proxy.cpp:81:104 [opt]
        frame [#7](/bitcoin-bitcoin/7/): 0x0000000100418988 bitcoin-node`mp::ProxyServerBase<ipc::capnp::messages::BlockTemplate, interfaces::BlockTemplate>::ProxyServerBase(this=0x0000600003468120, vtt=0x0000000100a28ad8, impl=nullptr, connection=0x000000012680b610) at proxy-io.h:521:32 [opt] [inlined]
        frame [#8](/bitcoin-bitcoin/8/): 0x0000000100418950 bitcoin-node`mp::ProxyServerCustom<ipc::capnp::messages::BlockTemplate, interfaces::BlockTemplate>::ProxyServerCustom(this=0x0000600003468120, vtt=<unavailable>, (null)=nullptr, (null)=0x000000012680b610) at proxy.h:197:45 [opt] [inlined]
        frame [#9](/bitcoin-bitcoin/9/): 0x0000000100418950 bitcoin-node`mp::ProxyServer<ipc::capnp::messages::BlockTemplate>::ProxyServer(this=0x0000600003468120, (null)=nullptr, (null)=0x000000012680b610) at mining.capnp.proxy.h:393:30 [opt] [inlined]
        frame [#10](/bitcoin-bitcoin/10/): 0x000000010041892c bitcoin-node`kj::Own<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, std::nullptr_t> kj::heap<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, std::__1::shared_ptr<interfaces::BlockTemplate>, mp::Connection&>(params=nullptr, params=<unavailable>) at memory.h:609:21 [opt]
        frame [#11](/bitcoin-bitcoin/11/): 0x000000010044715c bitcoin-node`kj::Own<ipc::capnp::messages::BlockTemplate::Server, std::nullptr_t> mp::MakeProxyServer<ipc::capnp::messages::BlockTemplate, interfaces::BlockTemplate>(context=0x00000001776b6b10, impl=nullptr) at type-interface.h:14:12 [opt] [inlined]
        frame [#12](/bitcoin-bitcoin/12/): 0x000000010044714c bitcoin-node`kj::Own<ipc::capnp::messages::BlockTemplate::Server, std::nullptr_t> mp::CustomMakeProxyServer<ipc::capnp::messages::BlockTemplate, interfaces::BlockTemplate>(context=0x00000001776b6b10, impl=nullptr) at type-interface.h:20:12 [opt] [inlined]
        frame [#13](/bitcoin-bitcoin/13/): 0x0000000100447144 bitcoin-node`_ZN2mp16CustomBuildFieldIN10interfaces13BlockTemplateENSt3__110unique_ptrIS2_NS3_14default_deleteIS2_EEEERNS_11StructFieldINS_8AccessorINS_13mining_fields6ResultELi18EEEN3ipc5capnp8messages13BlockTemplate15WaitNextResults7BuilderEEEEEvNS_8TypeListIJNS4_IT_NS5_ISM_EEEEEEENS_8PriorityILi1EEERNS_13InvokeContextEOT0_OT1_PNu7__decayIDTcldtfL0p3_3getEEE5CallsE((null)=<unavailable>, (null)=<unavailable>, invoke_context=0x00000001776b6b10, value=nullptr, output=0x00000001776b6980, enable=0x0000000000000000) at type-interface.h:33:20 [opt]
        frame [#14](/bitcoin-bitcoin/14/): 0x0000000100446f58 bitcoin-node`void mp::BuildField<std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>, mp::InvokeContext, std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>, mp::StructField<mp::Accessor<mp::mining_fields::Result, 18>, ipc::capnp::messages::BlockTemplate::WaitNextResults::Builder>&>((null)=<unavailable>, context=0x00000001776b6b10, output=0x00000001776b6980, values=nullptr) at proxy-types.h:203:9 [opt] [inlined]
        frame [#15](/bitcoin-bitcoin/15/): 0x0000000100446f44 bitcoin-node`void mp::CustomBuildField<std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>, std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>, mp::StructField<mp::Accessor<mp::mining_fields::Result, 18>, ipc::capnp::messages::BlockTemplate::WaitNextResults::Builder>>((null)=<unavailable>, (null)=<unavailable>, invoke_context=0x00000001776b6b10, value=nullptr, output=0x00000001776b6980) at type-decay.h:34:5 [opt] [inlined]
        frame [#16](/bitcoin-bitcoin/16/): 0x0000000100446f44 bitcoin-node`void mp::BuildField<std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>&&, mp::InvokeContext, std::__1::unique_ptr<interfaces::BlockTemplate, std::__1::default_delete<interfaces::BlockTemplate>>, mp::StructField<mp::Accessor<mp::mining_fields::Result, 18>, ipc::capnp::messages::BlockTemplate::WaitNextResults::Builder>>((null)=<unavailable>, context=0x00000001776b6b10, output=0x00000001776b6980, values=nullptr) at proxy-types.h:203:9 [opt] [inlined]
        frame [#17](/bitcoin-bitcoin/17/): 0x0000000100446f44 bitcoin-node`void mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, node::BlockWaitOptions>(this=0x0000600001e5059c, server_context=0x00000001776b6b10, (null)=<unavailable>, args=0x00000001776b6a78) const at proxy-types.h:474:9 [opt]
        frame [#18](/bitcoin-bitcoin/18/): 0x0000000100446e20 bitcoin-node`void mp::PassField<mp::Accessor<mp::mining_fields::Options, 17>, node::BlockWaitOptions, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall> const&, mp::TypeList<>>((null)=<unavailable>, (null)=<unavailable>, server_context=0x00000001776b6b10, fn=0x0000600001e5059c, args=0x00000001776b6b98) at proxy-types.h:307:8 [opt]
        frame [#19](/bitcoin-bitcoin/19/): 0x0000000100446338 bitcoin-node`decltype(auto) mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>>::invoke<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::TypeList<node::BlockWaitOptions>>(this=<unavailable>, server_context=0x00000001776b6b10, (null)=<unavailable>) const at proxy-types.h:539:16 [opt] [inlined]
        frame [#20](/bitcoin-bitcoin/20/): 0x0000000100446330 bitcoin-node`std::__1::enable_if<std::is_same<decltype(mp::Accessor<mp::mining_fields::Context, 17>::get(fp1.call_context.getParams())), mp::Context::Reader>::value, kj::Promise<mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>::CallContext>>::type mp::PassField<mp::Accessor<mp::mining_fields::Context, 17>, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>, mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>>, mp::TypeList<node::BlockWaitOptions>>(mp::Priority<1>, mp::TypeList<>, mp::ServerInvokeContext<mp::ProxyServer<ipc::capnp::messages::BlockTemplate>, capnp::CallContext<ipc::capnp::messages::BlockTemplate::WaitNextParams, ipc::capnp::messages::BlockTemplate::WaitNextResults>>&, mp::ServerField<1, mp::Accessor<mp::mining_fields::Options, 17>, mp::ServerRet<mp::Accessor<mp::mining_fields::Result, 18>, mp::ServerCall>> const&, mp::TypeList<node::BlockWaitOptions>&&)::'lambda'()::operator()(this=<unavailable>) at type-context.h:126:24 [opt]
        frame [#21](/bitcoin-bitcoin/21/): 0x000000010039d40c bitcoin-node`kj::Function<void ()>::operator()(this=0x00000001776b6f30) at function.h:119:12 [opt] [inlined]
        frame [#22](/bitcoin-bitcoin/22/): 0x000000010039d3fc bitcoin-node`void mp::Unlock<mp::Lock, kj::Function<void ()>&>(lock=0x00000001776b6f50, callback=0x00000001776b6f30) at util.h:209:5 [opt]
        frame [#23](/bitcoin-bitcoin/23/): 0x00000001006261dc bitcoin-node`void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(mp::Lock&, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'())::'lambda'()::operator()(this=<unavailable>) const at proxy-io.h:352:17 [opt]
        frame [#24](/bitcoin-bitcoin/24/): 0x00000001006261b8 bitcoin-node`void std::__1::condition_variable::wait<void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(mp::Lock&, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'())::'lambda'()>(this=<unavailable>, __lk=0x00000001776b6f50, __pred=<unavailable>) at condition_variable.h:146:11 [opt] [inlined]
        frame [#25](/bitcoin-bitcoin/25/): 0x00000001006261ac bitcoin-node`void mp::Waiter::wait<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()() const::'lambda'()>(this=0x0000600002250000, lock=0x00000001776b6f50, pred=<unavailable>) at proxy-io.h:343:14 [opt] [inlined]
        frame [#26](/bitcoin-bitcoin/26/): 0x0000000100626184 bitcoin-node`mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0::operator()(this=0x0000600001e54e78) const at proxy.cpp:419:34 [opt] [inlined]
        frame [#27](/bitcoin-bitcoin/27/): 0x0000000100625c9c bitcoin-node`decltype(std::declval<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>()()) std::__1::__invoke[abi:ne200100]<mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>(__f=0x0000600001e54e78) at invoke.h:179:25 [opt] [inlined]
        frame [#28](/bitcoin-bitcoin/28/): 0x0000000100625c9c bitcoin-node`void std::__1::__thread_execute[abi:ne200100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>(__t=size=2, (null)=<unavailable>) at thread.h:199:3 [opt] [inlined]
        frame [#29](/bitcoin-bitcoin/29/): 0x0000000100625c9c bitcoin-node`void* std::__1::__thread_proxy[abi:ne200100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, mp::ProxyServer<mp::ThreadMap>::makeThread(capnp::CallContext<mp::ThreadMap::MakeThreadParams, mp::ThreadMap::MakeThreadResults>)::$_0>>(__vp=0x0000600001e54e70) at thread.h:208:3 [opt]
        frame [#30](/bitcoin-bitcoin/30/): 0x000000018cfe7c0c libsystem_pthread.dylib`_pthread_start + 136
    
  8. ryanofsky commented at 8:56 PM on October 7, 2025: contributor

    But if I kill my rust code, it still causes a crash on bitcoin-node... I wonder if I'm still doing something wrong on shutdown?

    This seems like a new crash I haven't seen before. Probably there is something the rust code could be doing differently to prevent the crash, but that wouldn't mean it is doing anything wrong, since the node should be able to avoid crashing on unclean shutdowns. Will look into this more and try to suggest changes and fix.

  9. plebhash commented at 9:03 PM on October 7, 2025: none

    to be fair, the shutdown strategy on the rust code doesn't really do anything to try to be "clean"

    when ctrl+c is hit, we simply break the loops of every spawned task and drop everything from memory (including records to whatever waitNext request that was still waiting for completion)

  10. plebhash commented at 9:08 PM on October 7, 2025: none

    also worth mentioning that the steps listed above are not able to reproduce it deterministically

    sometimes it happens, sometimes it doesn't happen

    probably related to the order in which things are dropped from memory, which I assume capnp and capnp-rpc crates take as triggers for IPC signals for resource cleanup on the server side

  11. ryanofsky commented at 12:41 AM on October 8, 2025: contributor

    Thanks @plebhash. The stack trace from #33554 (comment) shows the problem pretty clearly, and I created an issue to track it: https://github.com/bitcoin-core/libmultiprocess/issues/226.

    It looks to me like there's not way great way for the rust client to avoid this problem, and this is something bitcoin-node should be changed to fix by (1) fixing the abort described in https://github.com/bitcoin-core/libmultiprocess/issues/226 and (2) improving the mining interface so there is a way to interrupt waitNext calls.

    I think currently the only reliable way to avoid triggering the abort is to avoid disconnecting until waitNext returns.

    But this might be undesirable because there isn't currently a way to interrupt the waitNext call and have it return early. It would be good if bitcoin-node would address this by adding a new BlockTemplate interruptWait method, or just have BlockTemplate destructor interrupt the wait. The client should have some clean way of interrupting the waitNext call if it no longer needs a new block so mining interface clients can shut down quickly and cleanly.

  12. plebhash commented at 1:57 PM on October 8, 2025: none

    I have a question related to the approach I started taking with the insights coming from the crashes reported here.

    following your advice, I'm no longer using one single server thread for everything... now there's one "static" server thread that's responsible for all non-blocking calls (e.g.: fetching some template data or submitting solution to some template)

    and for waitNext, there's dedicated server thread(s)

    the thing is, I still need to cater for incoming Sv2 CoinbaseOutputConstraints messages, and whenever that arrives, I need to make sure the BlockTemplate (or TemplateIpcClient as I'm aliasing on the rust code) that's used to kickstart the next waitNext loops has the correct block_reserved_weight and max_additional_sigops as defined on the Sv2 message.

    and since I cannot interfere with server thread dedicated to the ongoing waitNext (because it would lead to crashes), I'm being forced to instantiate yet another server thread, just so I can instantiate the new BlockTemplate with the new coinbase constraints and kickstart the new waitNext loop

    so my question is: by doing this, am I risking unbounded resource consumption on bitcoin-node? because basically I'm not taking any explicit steps to kill the server thread that was dedicated for waitNext loops under the previous coinbase constraints... the reference to ThreadIpcClient is simply dropped from memory, and that's it.

    anyways, once the changes mentioned on the comment above take place, this should no longer be a relevant issue, because as soon as CoinbaseOutputConstraints arrived, I'd be able to kill the current waitNext call and simply use the same server thread for the new one, so the rust client would always be using only two server threads without any need for creating more server threads every time we had new coinbase constraints

    but I felt I should ask anyways, because it seems like an important concept that's still foggy on my mental model for IPC

  13. ryanofsky commented at 4:32 PM on October 8, 2025: contributor

    These are good questions. I opened #33575 to figure out how to cancel waitNext calls, and I think it should not be hard to provide that.

    More broadly, I think I'd try just having a c++ "waiter" thread dedicated to running waitNext calls, and a c++ "worker" thread to run all other IPC operations besides waitNext. The "waiter" thread should be mostly blocked monitoring mempool and network, and the "worker" thread should be available to do anything else you might need like fetching and submitting block data.

    With current v30 code, there is no mechanism to cancel waitNext calls, so I think simplest approach would be to create a new c++ thread for each waitNext call, effectively having multiple "waiter" threads and one "worker" thread. This will use more resources, but I would not expect it to take a lot more, because presumably block_reserved_weight and max_additional_sigops option values should not change very frequently, and new blocks being connected should provide an upper limit on how long waitNext calls stick around.

  14. plebhash commented at 4:48 PM on October 8, 2025: none

    rephrasing my previous question in a more compact way:

    is there a way to "kill" server threads?


    because presumably block_reserved_weight and max_additional_sigops option values should not change very frequently

    indeed, I think this will be relatively rare in practice... but it's still something that's not under our control, and on the current strategy it will lead to unbounded resource consumption on Bitcoin Core side (unless server threads could be killed)

  15. ryanofsky commented at 5:11 PM on October 8, 2025: contributor

    is there a way to "kill" server threads?

    Indirectly, yes. The server threads will destroy themselves as soon as they are no longer referenced, either by the client or an ongoing IPC call that is using them. So as long as the client is not holding references to threads it is not using, they will be cleaned up.

    There is some cost to creating threads, so it's good to reuse them between calls, and why I recommended having dedicated "waiter" and "worker" threads. But if you wanted to create more threads than that for different calls it would probably work ok in practice.

    and on the current strategy it will lead to unbounded resource consumption on Bitcoin Core side

    As long as there is no way to cancel waitNext calls, it could lead to a lot of threads being created if you need to make many calls. I'd just expect the number to be pretty limited based on how many should be needed. After cancellation is implemented you should be able to get away with having just 2 threads total.

  16. plebhash commented at 7:34 PM on October 8, 2025: none

    Indirectly, yes. The server threads will destroy themselves as soon as they are no longer referenced, either by the client or an ongoing IPC call that is using them. So as long as the client is not holding references to threads it is not using, they will be cleaned up.

    ok I had AI tell me the same thing but didn't want to blindly trust it, so that's why I went out of my way to confirm that. Good to know.

    then also what I said about unbounded resource consumption above is not true, since references to server threads for the old waitNext loops are dropped.

    but still, ideally only 2 threads should be enough, and I guess we'll get there eventually.

  17. fanquake added this to the milestone 30.1 on Oct 13, 2025
  18. plebhash commented at 8:07 PM on November 17, 2025: none

    @ryanofsky should we close this?

  19. bitcoin deleted a comment on Nov 18, 2025
  20. ryanofsky commented at 8:58 PM on November 18, 2025: contributor

    @ryanofsky should we close this?

    Thanks will close. The original issue where then node crashes when a client requests to multiple IPC calls to execute simultaneously on the same worker thread should be fixed by https://github.com/bitcoin-core/libmultiprocess/pull/214 and #33519 which replaces the crashes with "thread busy" errors.

    The crash reported later where killing the rust code in the middle of a waitNext call causes the node to crash during shutdown (https://github.com/bitcoin/bitcoin/issues/33554#issuecomment-3378693317) isn't fixed yet but I created a separate issue to track it https://github.com/bitcoin-core/libmultiprocess/issues/226. Also the new interruptWait method in #33676 should make the problem less likely to happen if the rust client uses it.

    Will close this since remaining issue is tracked in https://github.com/bitcoin-core/libmultiprocess/issues/226

  21. ryanofsky closed this on Nov 18, 2025


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-20 06:12 UTC

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