while working on https://github.com/stratum-mining/sv2-apps/pull/177, I’m noticing a new crash
steps to reproduce:
- run Bitcoin Core
v30.2onmainnet git clone https://github.com/plebhash/sv2-apps -b 2026-01-09-bitcoin-core-v30-2- edit
sv2-apps/pool-apps/pool/config-examples/mainnet/pool-config-bitcoin-core-ipc-example.tomlso thatunix_socket_pathfield points tonode.sock - launch Pool via:
cd sv2-apps/pool-apps/pool; cargo run -- -c config-examples/mainnet/pool-config-bitcoin-core-ipc-example.toml - let Pool run for a while
- kill Pool with ctrl+c
this does not happen deterministically, so a few attempts of launching then killing Pool might be needed
but eventually Bitcoin Core crashes with a few different log variations:
02026-01-10T22:48:03Z [ipc] {bitcoin-node-35006/b-capnp-loop-203488} IPC server recv request [#96](/bitcoin-bitcoin/96/) BlockTemplate.getCoinbaseMerklePath$Params
12026-01-10T22:48:03Z [ipc] {bitcoin-node-35006/b-capnp-loop-203488} IPC server post request [#96](/bitcoin-bitcoin/96/) {bitcoin-node-35006/206817 (from )}
22026-01-10T22:48:03Z [ipc] {bitcoin-node-35006/b-capnp-loop-203488} IPC server send response [#96](/bitcoin-bitcoin/96/) BlockTemplate.getCoinbaseMerklePath$Results
32026-01-10T22:48:07Z [ipc] {bitcoin-node-35006/b-capnp-loop-203488} IPC server recv request [#97](/bitcoin-bitcoin/97/) BlockTemplate.waitNext$Params
42026-01-10T22:48:07Z [ipc] {bitcoin-node-35006/b-capnp-loop-203488} IPC server post request [#97](/bitcoin-bitcoin/97/) {bitcoin-node-35006/206817 (from )}
52026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
62026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
72026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
82026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
92026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
102026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
112026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
122026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages6MiningEEE
132026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server: socket disconnected.
142026-01-10T22:48:07Z [ipc:info] {bitcoin-node-35006/b-capnp-loop-203488} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages4InitEEE
152026-01-10T22:48:08Z CreateNewBlock(): block weight: 3998742 txs: 599 fees: 515599 sigops 13307
16libc++abi: terminating due to uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
17[1] 35006 abort ./bitcoin-30.2/bin/bitcoin -m node -ipcbind=unix -prune=555 -debug=ipc
02026-01-10T22:22:02Z [ipc] {bitcoin-node-19528/b-capnp-loop-144717} IPC server send response [#134](/bitcoin-bitcoin/134/) BlockTemplate.getCoinbaseMerklePath$Results
12026-01-10T22:22:03Z [ipc] {bitcoin-node-19528/b-capnp-loop-144717} IPC server recv request [#135](/bitcoin-bitcoin/135/) BlockTemplate.waitNext$Params
22026-01-10T22:22:03Z [ipc] {bitcoin-node-19528/b-capnp-loop-144717} IPC server post request [#135](/bitcoin-bitcoin/135/) {bitcoin-node-19528/147843 (from )}
32026-01-10T22:22:04Z CreateNewBlock(): block weight: 3998510 txs: 4931 fees: 315281 sigops 999
42026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
52026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
62026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
72026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages13BlockTemplateEEE
82026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages6MiningEEE
92026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server: socket disconnected.
102026-01-10T22:22:04Z [ipc:info] {bitcoin-node-19528/b-capnp-loop-144717} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages4InitEEE
112026-01-10T22:22:05Z CreateNewBlock(): block weight: 3998649 txs: 4928 fees: 336652 sigops 1030
12Assertion failed: (m_loop), function operator*, file proxy.h, line 59.
13[1] 19528 abort ./bitcoin-30.2/bin/bitcoin -m node -ipcbind=unix -prune=555 -debug=ipc