https://github.com/bitcoin/bitcoin/actions/runs/22352345876/job/64682517438#step:11:12556
test 2026-02-24T13:34:27.369223Z TestFramework (DEBUG): Destroying ZMQ context
test 2026-02-24T13:34:27.369538Z TestFramework (ERROR): Unexpected exception:
Traceback (most recent call last):
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/test_framework.py", line 142, in main
self.run_test()
File "/home/admin/actions-runner/_work/_temp/build/test/functional/interface_zmq.py", line 131, in run_test
self.test_multiple_interfaces()
File "/home/admin/actions-runner/_work/_temp/build/test/functional/interface_zmq.py", line 563, in test_multiple_interfaces
subscribers = self.setup_zmq_test([
^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/build/test/functional/interface_zmq.py", line 162, in setup_zmq_test
test_block = ZMQTestSetupBlock(self, self.nodes[0])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/build/test/functional/interface_zmq.py", line 93, in __init__
self.block_hash = test_framework.generate(node, 1, sync_fun=test_framework.no_op)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/test_framework.py", line 663, in generate
blocks = generator.generate(*args, called_by_framework=True, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/test_node.py", line 411, in generate
return self.generatetoaddress(nblocks=nblocks, address=self.get_deterministic_priv_key().address, maxtries=maxtries, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/test_node.py", line 419, in generatetoaddress
return self.__getattr__('generatetoaddress')(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/coverage.py", line 50, in __call__
return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/authproxy.py", line 133, in __call__
response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/authproxy.py", line 107, in _request
return self._get_response()
^^^^^^^^^^^^^^^^^^^^
File "/home/admin/actions-runner/_work/_temp/test/functional/test_framework/authproxy.py", line 170, in _get_response
http_response = self.__conn.getresponse()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/http/client.py", line 1448, in getresponse
response.begin()
File "/usr/lib/python3.12/http/client.py", line 336, in begin
version, status, reason = self._read_status()
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/http/client.py", line 305, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response