Page MenuHomePhabricator

Periodically check disk space to avoid corruption
ClosedPublic

Authored by PiRK on Jun 12 2026, 14:30.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC69555c6c5847: Periodically check disk space to avoid corruption
Summary
Test Plan

made min_disk_space much larger, compiled, ran src/bitcoind and checked that it shuts down with the expected log line

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

PiRK requested review of this revision.Jun 12 2026, 14:30

Failed tests logs:

====== Bitcoin ABC functional tests: wallet_multiwallet.py --descriptors ======

------- Stdout: -------
2026-06-12T14:39:28.486000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20260612_143633_22452/wallet_multiwallet_69
2026-06-12T14:39:36.975000Z TestFramework (INFO): Check for per-wallet settxfee call
2026-06-12T14:39:36.981000Z TestFramework (INFO): Test dynamic wallet loading
2026-06-12T14:39:37.647000Z TestFramework (INFO): Load first wallet
2026-06-12T14:39:37.672000Z TestFramework (INFO): Load second wallet
2026-06-12T14:39:37.679000Z TestFramework (INFO): Concurrent wallet loading
2026-06-12T14:39:37.852000Z TestFramework (INFO): Load remaining wallets
2026-06-12T14:39:37.852000Z TestFramework (ERROR): Unexpected exception
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 152, in main
    self._run_test_internal()
  File "/work/test/functional/test_framework/test_framework.py", line 142, in _run_test_internal
    self.run_test()
  File "/work/test/functional/wallet_multiwallet.py", line 425, in run_test
    loadwallet_name = self.nodes[0].loadwallet(wallet_name)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 114, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib/python3.11/http/client.py", line 1302, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1348, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1297, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1096, in _send_output
    self.send(chunk)
  File "/usr/lib/python3.11/http/client.py", line 1018, in send
    self.sock.sendall(data)
BrokenPipeError: [Errno 32] Broken pipe
2026-06-12T14:39:37.905000Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
2026-06-12T14:39:37.905000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20260612_143633_22452/wallet_multiwallet_69
2026-06-12T14:39:37.906000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20260612_143633_22452/wallet_multiwallet_69/test_framework.log
2026-06-12T14:39:37.906000Z TestFramework (ERROR): 
2026-06-12T14:39:37.906000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_🏃_20260612_143633_22452/wallet_multiwallet_69' to consolidate all logs
2026-06-12T14:39:37.906000Z TestFramework (ERROR): 
2026-06-12T14:39:37.906000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2026-06-12T14:39:37.906000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2026-06-12T14:39:37.906000Z TestFramework (ERROR):
------- Stderr: -------
Exception in thread Thread-2 (test_load_unload):
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/work/test/functional/wallet_multiwallet.py", line 36, in test_load_unload
    node.loadwallet(name)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1394, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 323, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 292, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
Exception in thread Thread-1 (test_load_unload):
Traceback (most recent call last):
  File "/usr/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/work/test/functional/wallet_multiwallet.py", line 37, in test_load_unload
    node.unloadwallet(name)
  File "/work/test/functional/test_framework/coverage.py", line 46, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 146, in __call__
    response, status = self._request(
                       ^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 115, in _request
    return self._get_response()
           ^^^^^^^^^^^^^^^^^^^^
  File "/work/test/functional/test_framework/authproxy.py", line 187, in _get_response
    http_response = self.__conn.getresponse()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 1394, in getresponse
    response.begin()
  File "/usr/lib/python3.11/http/client.py", line 323, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 292, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
[node 0] Cleaning up leftover process

Each failure log is accessible here:
Bitcoin ABC functional tests: wallet_multiwallet.py --descriptors

Fabien requested changes to this revision.Jun 15 2026, 07:28
Fabien added a subscriber: Fabien.

back to your queue, the test failure deserves to be investigated

This revision now requires changes to proceed.Jun 15 2026, 07:28

rebase
The unrelated wallet_multiwallet is being investigated in D20117 and D20122

src/init.cpp
2266 ↗(On Diff #59809)

that might be a bit low for us ? think full block + chronik?

bump to 250MiB to account for potentially higher TPS number

This revision is now accepted and ready to land.Jun 16 2026, 15:05