Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference

1c1de334e9c0e3b4c72c3f3fe45b1f4df5ce4502 test: avoid interface_ipc.py race and null pointer dereference (Ryan Ofsky)

Pull request description:

  Avoid race condition in `run_deprecated_mining_test` caused by creating and immediately destroying an unused worker thread. This is leading to test failures reported by maflcko in #34711

ACKs for top commit:
  optout21:
    utACK 1c1de334e9c0e3b4c72c3f3fe45b1f4df5ce4502
  l0rinc:
    Tested ACK 1c1de334e9c0e3b4c72c3f3fe45b1f4df5ce4502
  w0xlt:
    ACK 1c1de334e9c0e3b4c72c3f3fe45b1f4df5ce4502
  enirox001:
    ACK 1c1de33

Tree-SHA512: d0af9676a46e991a3f4fda3795c02d1998d30de24991436b8ada425585c6699ff32a7057ca7a0ef2925f782fd3bf73e0381f5d4325e4f1c09f487fce1de49e45
This commit is contained in:
merge-script 2026-03-04 13:47:03 +00:00
commit 01dcb2fcc5
No known key found for this signature in database
GPG Key ID: 2EEB9F5CC09526C1

View File

@ -72,7 +72,9 @@ class IPCInterfaceTest(BitcoinTestFramework):
def run_deprecated_mining_test(self):
self.log.info("Running deprecated mining interface test")
async def async_routine():
ctx, init = await make_capnp_init_ctx(self)
node = self.nodes[0]
connection = await capnp.AsyncIoStream.create_unix_connection(node.ipc_socket_path)
init = capnp.TwoPartyClient(connection).bootstrap().cast_as(self.capnp_modules['init'].Init)
self.log.debug("Calling deprecated makeMiningOld2 should raise an error")
try:
await init.makeMiningOld2()