Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Nov 19, 2021

Looks like this is used by boost 1.77 in ./test/functional/wallet_backup.py --descriptors.

Fixes #23554

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fade4b3 - reproduced the failure on Tumbleweed:

9815713497c5:/bitcoin # ./test/functional/wallet_backup.py --descriptors
2021-11-21T07:11:10.648000Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_ma4r2esy
2021-11-21T07:11:11.514000Z TestFramework (INFO): Generating initial blockchain
2021-11-21T07:11:15.931000Z TestFramework (INFO): Creating transactions
2021-11-21T07:11:30.282000Z TestFramework (INFO): Backing up
2021-11-21T07:11:30.303000Z TestFramework (INFO): More transactions
2021-11-21T07:11:43.899000Z TestFramework (INFO): Restoring wallets on node 3 using backup files
2021-11-21T07:11:44.287000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 108, in _request
    return self._get_response()
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 166, in _get_response
    http_response = self.__conn.getresponse()
  File "/usr/lib64/python3.8/http/client.py", line 1348, in getresponse
    response.begin()
  File "/usr/lib64/python3.8/http/client.py", line 316, in begin
    version, status, reason = self._read_status()
  File "/usr/lib64/python3.8/http/client.py", line 285, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/bitcoin/test/functional/test_framework/test_framework.py", line 132, in main
    self.run_test()
  File "./test/functional/wallet_backup.py", line 186, in run_test
    self.nodes[3].restorewallet("res0", backup_file_0)
  File "/bitcoin/test/functional/test_framework/coverage.py", line 49, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 142, in __call__
    response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 113, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib64/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/lib64/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/lib64/python3.8/http/client.py", line 922, in connect
    self.sock = self._create_connection(
  File "/usr/lib64/python3.8/socket.py", line 808, in create_connection
    raise err
  File "/usr/lib64/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
2021-11-21T07:11:44.339000Z TestFramework (INFO): Stopping nodes
2021-11-21T07:11:44.343000Z TestFramework.node3 (ERROR): Unable to stop node.
Traceback (most recent call last):
  File "/bitcoin/test/functional/test_framework/test_node.py", line 335, in stop_node
    self.stop(wait=wait)
  File "/bitcoin/test/functional/test_framework/coverage.py", line 49, in __call__
    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 142, in __call__
    response, status = self._request('POST', self.__url.path, postdata.encode('utf-8'))
  File "/bitcoin/test/functional/test_framework/authproxy.py", line 107, in _request
    self.__conn.request(method, path, postdata, headers)
  File "/usr/lib64/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1267, in _send_request
    self.putrequest(method, url, **skips)
  File "/usr/lib64/python3.8/http/client.py", line 1093, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
Traceback (most recent call last):
  File "./test/functional/wallet_backup.py", line 238, in <module>
    WalletBackupTest().main()
  File "/bitcoin/test/functional/test_framework/test_framework.py", line 155, in main
    exit_code = self.shutdown()
  File "/bitcoin/test/functional/test_framework/test_framework.py", line 304, in shutdown
    self.stop_nodes()
  File "/bitcoin/test/functional/test_framework/test_framework.py", line 555, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/bitcoin/test/functional/test_framework/test_node.py", line 349, in stop_node
    raise AssertionError("Unexpected stderr {} != {}".format(stderr, expected_stderr))
AssertionError: Unexpected stderr ERROR: The syscall "fstatfs" (syscall number 138) is not allowed by the syscall sandbox in thread "httpworker.2". Please report.
terminate called without an active exception != 
[node 3] Cleaning up leftover process
[node 2] Cleaning up leftover process
[node 1] Cleaning up leftover process
[node 0] Cleaning up leftover process

Confirmed this patch fixes the issue.

@fanquake fanquake merged commit cf06c9b into bitcoin:master Nov 21, 2021
@maflcko maflcko deleted the 2111-sand branch November 21, 2021 07:39
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Nov 21, 2021
fade4b3 util: Add missing fstatfs to syscall sandbox (MarcoFalke)

Pull request description:

  Looks like this is used by boost 1.77 in `./test/functional/wallet_backup.py --descriptors`.

  Fixes bitcoin#23554

ACKs for top commit:
  fanquake:
    ACK fade4b3 - reproduced the failure on Tumbleweed:

Tree-SHA512: cd7381e87c7cb4596da0b9e36c8776a3ef19f5aeb29ee9db1867657c4c1f071485ffea0fba0af950f10a16a8bdb0a0c70ffcc5be802e82d60882e00f7d2009ac
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Nov 23, 2021
fade4b3 util: Add missing fstatfs to syscall sandbox (MarcoFalke)

Pull request description:

  Looks like this is used by boost 1.77 in `./test/functional/wallet_backup.py --descriptors`.

  Fixes bitcoin#23554

ACKs for top commit:
  fanquake:
    ACK fade4b3 - reproduced the failure on Tumbleweed:

Tree-SHA512: cd7381e87c7cb4596da0b9e36c8776a3ef19f5aeb29ee9db1867657c4c1f071485ffea0fba0af950f10a16a8bdb0a0c70ffcc5be802e82d60882e00f7d2009ac
@bitcoin bitcoin locked and limited conversation to collaborators Nov 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

node3 stderr ERROR: The syscall "fstatfs" (syscall number 138) is not allowed by the syscall sandbox in thread "httpworker.0". Please report.

3 participants