this was originally reported on #33994 (see #33994 (comment) for a summarized context)
we are seeing Bitcoin Core crash when connected to SRI JDC
here’s how we reproduced it on a macos with arm64 apple silicon:
- enter https://stratumprotocol.org/
- click “Start Mining”
- follow the wizard to run JDC with docker
- make sure you’re connecting to SRI community mainnet deployment
- make sure you launch JDC while Bitcoin Core v30.2 is still doing IBD
then bitcoin Core crashes with similar logs:
0p@MacBook-Pro Downloads % ./bitcoin-30.2/bin/bitcoin -m node -ipcbind=unix
12026-02-23T16:23:17Z Bitcoin Core version v30.2.0 (release build)
22026-02-23T16:23:17Z Using the 'sse4(1way);sse41(4way)' SHA256 implementation
32026-02-23T16:23:17Z Default data directory /Users/p/Library/Application Support/Bitcoin
42026-02-23T16:23:17Z Using data directory /Users/p/Library/Application Support/Bitcoin
52026-02-23T16:23:17Z Config file: /Users/p/Library/Application Support/Bitcoin/bitcoin.conf
62026-02-23T16:23:17Z Config file arg: prune="200"
72026-02-23T16:23:17Z Config file arg: rpcallowip="0.0.0.0/0"
82026-02-23T16:23:17Z Config file arg: rpcbind="0.0.0.0"
92026-02-23T16:23:17Z Config file arg: rpcpassword=****
102026-02-23T16:23:17Z Config file arg: rpcuser=****
112026-02-23T16:23:17Z Config file arg: server="1"
122026-02-23T16:23:17Z Setting file arg: prune = "57220"
132026-02-23T16:23:17Z Setting file arg: wallet = ["novcanik"]
142026-02-23T16:23:17Z Command-line arg: ipcbind="unix"
152026-02-23T16:23:17Z Using at most 125 automatic connections (285 file descriptors available)
162026-02-23T16:23:17Z scheduler thread start
172026-02-23T16:23:17Z Listening for IPC requests on address unix:/Users/p/Library/Application Support/Bitcoin/node.sock
182026-02-23T16:23:17Z Binding RPC on address 0.0.0.0 port 8332
192026-02-23T16:23:17Z WARNING: the RPC server is not safe to expose to untrusted networks such as the public internet
202026-02-23T16:23:17Z Using rpcuser/rpcpassword authentication.
212026-02-23T16:23:17Z [warning] The use of rpcuser/rpcpassword is less secure, because credentials are configured in plain text. It is recommended that locally-run instances switch to cookie-based auth, or otherwise to use hashed rpcauth credentials. See share/rpcauth in the source directory for more information.
222026-02-23T16:23:17Z Starting HTTP server with 16 worker threads
232026-02-23T16:23:17Z Using wallet directory /Users/p/Library/Application Support/Bitcoin/wallets
242026-02-23T16:23:17Z init message: Verifying wallet(s)…
252026-02-23T16:23:17Z Using SQLite Version 3.46.1
262026-02-23T16:23:17Z Using wallet /Users/p/Library/Application Support/Bitcoin/wallets/novcanik
272026-02-23T16:23:17Z Using /16 prefix for IP bucketing
282026-02-23T16:23:17Z init message: Loading P2P addresses…
292026-02-23T16:23:17Z Loaded 66288 addresses from peers.dat 166ms
302026-02-23T16:23:17Z init message: Loading banlist…
312026-02-23T16:23:17Z SetNetworkActive: true
322026-02-23T16:23:17Z Cache configuration:
332026-02-23T16:23:17Z * Using 2.0 MiB for block index database
342026-02-23T16:23:17Z * Using 8.0 MiB for chain state database
352026-02-23T16:23:17Z * Using 440.0 MiB for in-memory UTXO set (plus up to 286.1 MiB of unused mempool space)
362026-02-23T16:23:17Z Script verification uses 11 additional threads
372026-02-23T16:23:17Z Using obfuscation key for blocksdir *.dat files (/Users/p/Library/Application Support/Bitcoin/blocks): '0000000000000000'
382026-02-23T16:23:17Z Opening LevelDB in /Users/p/Library/Application Support/Bitcoin/blocks/index
392026-02-23T16:23:17Z Opened LevelDB successfully
402026-02-23T16:23:17Z Using obfuscation key for /Users/p/Library/Application Support/Bitcoin/blocks/index: 0000000000000000
412026-02-23T16:23:17Z Using 16 MiB out of 16 MiB requested for signature cache, able to store 524288 elements
422026-02-23T16:23:17Z Using 16 MiB out of 16 MiB requested for script execution cache, able to store 524288 elements
432026-02-23T16:23:17Z init message: Loading block index…
442026-02-23T16:23:17Z Assuming ancestors of block 00000000000000000000611fd22f2df7c8fbd0688745c3a6c3bb5109cc2a12cb have valid signatures.
452026-02-23T16:23:17Z Setting nMinimumChainWork=0000000000000000000000000000000000000000dee8e2a309ad8a9820433c68
462026-02-23T16:23:17Z Prune configured to target 57220 MiB on disk for block and undo files.
472026-02-23T16:23:19Z Loading block index db: last block file = 5409
482026-02-23T16:23:19Z Loading block index db: last block file info: CBlockFileInfo(blocks=47, size=65771086, heights=937945...937991, time=2026-02-23...2026-02-23)
492026-02-23T16:23:19Z Checking all blk files are present...
502026-02-23T16:23:19Z Loading block index db: Block files have previously been pruned
512026-02-23T16:23:20Z Initializing chainstate Chainstate [ibd] @ height -1 (null)
522026-02-23T16:23:20Z Opening LevelDB in /Users/p/Library/Application Support/Bitcoin/chainstate
532026-02-23T16:23:20Z Opened LevelDB successfully
542026-02-23T16:23:20Z Using obfuscation key for /Users/p/Library/Application Support/Bitcoin/chainstate: ce0efc211ec92aaf
552026-02-23T16:23:20Z Loaded best chain: hashBestChain=00000000000000000001bd96c5201616a5c58aa6460f0d926cae714223666c93 height=937991 date=2026-02-23T16:17:08Z progress=0.999998
562026-02-23T16:23:20Z init message: Verifying blocks…
572026-02-23T16:23:20Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 0
582026-02-23T16:23:20Z Verifying last 6 blocks at level 3
592026-02-23T16:23:20Z Verification progress: 0%
602026-02-23T16:23:20Z Verification progress: 16%
612026-02-23T16:23:20Z Verification progress: 33%
622026-02-23T16:23:21Z Verification progress: 50%
632026-02-23T16:23:21Z Verification progress: 66%
642026-02-23T16:23:21Z [ipc:info] {bitcoin-node-32628/b-capnp-loop-621785} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages6MiningEEE
652026-02-23T16:23:21Z [ipc:info] {bitcoin-node-32628/b-capnp-loop-621785} IPC server: socket disconnected.
662026-02-23T16:23:21Z [ipc:info] {bitcoin-node-32628/b-capnp-loop-621785} IPC server destroy N2mp11ProxyServerIN3ipc5capnp8messages4InitEEE
672026-02-23T16:23:21Z Verification progress: 83%
682026-02-23T16:23:21Z Verification progress: 99%
692026-02-23T16:23:21Z Verification: No coin database inconsistencies in last 6 blocks (8097 transactions)
702026-02-23T16:23:21Z Block index and chainstate loaded
712026-02-23T16:23:21Z CreateNewBlock(): block weight: 812 txs: 0 fees: 0 sigops 0
722026-02-23T16:23:21Z Using SQLite Version 3.46.1
732026-02-23T16:23:21Z Using wallet /Users/p/Library/Application Support/Bitcoin/wallets/novcanik
742026-02-23T16:23:21Z init message: Loading wallet…
752026-02-23T16:23:21Z [novcanik] Last client version = 300200
762026-02-23T16:23:21Z [novcanik] Descriptors: 8, Descriptor Keys: 0 plaintext, 1 encrypted, 1 total.
772026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = edb28fd27a4b47ae0e316603d3991cafad2f7e6fdcb096a89fdafcd34627702c, type = legacy, internal = false
782026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = f7aada836e876af423ca3e80339506f90d3bbf4a8c024b353967dd3161ff8be5, type = p2sh-segwit, internal = false
792026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = 1fcb15c6c2ee3a63f4a890bfdc69bc97a17d1f32a46337603511fcc8a37e95b3, type = bech32, internal = false
802026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = 995dd7b253d565466fba909ffe67ca8ab2cb1794f7fc604fcce7e36ff8b0f8c8, type = bech32m, internal = false
812026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = ad8668ef94ea7747a80402b8f466852bfca8780e321dcb67418cb4584f6b9978, type = legacy, internal = true
822026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = 4375208e97ac934895c2cce4e70a04193ab53cd445dfc00ba92d96136eba7fa1, type = p2sh-segwit, internal = true
832026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = 951c97ac022ad382ea68f3ec073fd41c5170513d0e8c430ad51320bb313abff7, type = bech32, internal = true
842026-02-23T16:23:21Z [novcanik] Setting spkMan to active: id = dfba5b81e3aa1473f58553f63eea5ba12b7ef5fe2f209ec665701b0d8292ab42, type = bech32m, internal = true
852026-02-23T16:23:21Z [novcanik] Wallet completed loading in 235ms
862026-02-23T16:23:21Z [novcanik] setKeyPool.size() = 8000
872026-02-23T16:23:21Z [novcanik] mapWallet.size() = 0
882026-02-23T16:23:21Z [novcanik] m_address_book.size() = 2
892026-02-23T16:23:21Z init message: Pruning blockstore…
902026-02-23T16:23:21Z initload thread start
912026-02-23T16:23:21Z block tree size = 937993
922026-02-23T16:23:21Z nBestHeight = 937991
932026-02-23T16:23:21Z mapport thread start
942026-02-23T16:23:21Z Loading 1814 mempool transactions from file...
952026-02-23T16:23:21Z torcontrol thread start
962026-02-23T16:23:21Z Bound to 127.0.0.1:8334
972026-02-23T16:23:21Z Bound to [::]:8333
982026-02-23T16:23:21Z Leaving InitialBlockDownload (latching to false)
992026-02-23T16:23:21Z Bound to 0.0.0.0:8333
1002026-02-23T16:23:21Z Loaded 2 addresses from "anchors.dat"
1012026-02-23T16:23:21Z 2 block-relay-only anchors will be tried for connections.
1022026-02-23T16:23:21Z init message: Starting network threads…
1032026-02-23T16:23:21Z net thread start
1042026-02-23T16:23:21Z dnsseed thread start
1052026-02-23T16:23:21Z addcon thread start
1062026-02-23T16:23:21Z Waiting 300 seconds before querying DNS seeds.
1072026-02-23T16:23:21Z init message: Done loading
1082026-02-23T16:23:21Z msghand thread start
1092026-02-23T16:23:21Z opencon thread start
1102026-02-23T16:23:21Z tor: The only supported authentication mechanism left is password, but no password provided with -torpassword
1112026-02-23T16:23:22Z Progress loading mempool transactions from file: 10% (tried 182, 1632 remaining)
1122026-02-23T16:23:22Z Progress loading mempool transactions from file: 20% (tried 363, 1451 remaining)
1132026-02-23T16:23:22Z Progress loading mempool transactions from file: 30% (tried 545, 1269 remaining)
1142026-02-23T16:23:22Z Progress loading mempool transactions from file: 40% (tried 726, 1088 remaining)
1152026-02-23T16:23:22Z Progress loading mempool transactions from file: 50% (tried 907, 907 remaining)
1162026-02-23T16:23:22Z Progress loading mempool transactions from file: 60% (tried 1089, 725 remaining)
1172026-02-23T16:23:22Z Progress loading mempool transactions from file: 70% (tried 1270, 544 remaining)
1182026-02-23T16:23:22Z Progress loading mempool transactions from file: 80% (tried 1452, 362 remaining)
1192026-02-23T16:23:22Z Progress loading mempool transactions from file: 90% (tried 1633, 181 remaining)
1202026-02-23T16:23:22Z Imported mempool transactions from file: 1814 succeeded, 0 failed, 0 expired, 0 already there, 0 waiting for initial broadcast
1212026-02-23T16:23:22Z initload thread exit
1222026-02-23T16:23:22Z CreateNewBlock(): block weight: 2269527 txs: 1814 fees: 1045954 sigops 3946
123Assertion failed: (m_loop), function operator*, file proxy.h, line 59.
124zsh: abort ./bitcoin-30.2/bin/bitcoin -m node -ipcbind=unix
another way to crash it is to run JDC first, and immediately start Bitcoin Core v30.2 with these logs on tail:
02026-02-23T16:30:08Z Config file arg: rpcpassword=****
12026-02-23T16:30:08Z Config file arg: rpcuser=****
22026-02-23T16:30:08Z Config file arg: server="1"
32026-02-23T16:30:08Z Setting file arg: prune = "57220"
42026-02-23T16:30:08Z Setting file arg: wallet = ["novcanik"]
52026-02-23T16:30:08Z Command-line arg: ipcbind="unix"
62026-02-23T16:30:08Z Using at most 125 automatic connections (285 file descriptors available)
72026-02-23T16:30:08Z scheduler thread start
82026-02-23T16:30:08Z Listening for IPC requests on address unix:/Users/p/Library/Application Support/Bitcoin/node.sock
9node/interfaces.cpp:980 chainman: Assertion `m_node.chainman' failed.
10zsh: abort ./bitcoin-30.2/bin/bitcoin -m node -ipcbind=unix
as inquired by @Sjors and clarified by @ryanofsky :
neither #34184 nor #34422 fix the root cause
@jbesraa also faces it