Page MenuHomePhabricator

fix multiprocessing part of interface_rpc test on MacOS
ClosedPublic

Authored by PiRK on Mar 1 2023, 20:16.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABC2c27bf165e0f: fix multiprocessing part of interface_rpc test on MacOS
Summary

For some reason, starting processes with spawn causes the following error:

Traceback (most recent call last):
  File "/home/pierre/dev/bitcoin-abc/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/home/pierre/dev/bitcoin-abc/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/home/pierre/dev/bitcoin-abc/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.10/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.10/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.10/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.10/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/home/pierre/dev/bitcoin-abc/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/home/pierre/dev/bitcoin-abc/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)

Spawn is the default on Mac OS, so we need to explicitely set it to "fork"

Test Plan

run functional tests on MacOS and linux

Diff Detail

Repository
rABC Bitcoin ABC
Branch
fix_multiproc_max
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 22195
Build 44025: Build Diffbuild-clang-tidy · build-debug · build-without-wallet · build-clang · build-diff
Build 44024: arc lint + arc unit

Event Timeline

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T20:57:14.395000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20230301_205500/interface_rpc_213
2023-03-01T20:57:14.652000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T20:57:14.653000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T20:57:14.653000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T20:57:14.654000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T20:57:15.022000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T20:57:15.075000Z TestFramework (INFO): Stopping nodes
2023-03-01T20:57:15.126000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20230301_205500/interface_rpc_213
2023-03-01T20:57:15.127000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20230301_205500/interface_rpc_213/test_framework.log
2023-03-01T20:57:15.127000Z TestFramework (ERROR): 
2023-03-01T20:57:15.127000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-without-wallet/test/tmp/test_runner_₿₵_  _20230301_205500/interface_rpc_213' to consolidate all logs
2023-03-01T20:57:15.127000Z TestFramework (ERROR): 
2023-03-01T20:57:15.127000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T20:57:15.127000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T20:57:15.127000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T21:02:07.906000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20230301_205509/interface_rpc_213
2023-03-01T21:02:08.437000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T21:02:08.438000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T21:02:08.439000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T21:02:08.440000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T21:02:09.090000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T21:02:09.144000Z TestFramework (INFO): Stopping nodes
2023-03-01T21:02:09.297000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20230301_205509/interface_rpc_213
2023-03-01T21:02:09.297000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20230301_205509/interface_rpc_213/test_framework.log
2023-03-01T21:02:09.297000Z TestFramework (ERROR): 
2023-03-01T21:02:09.298000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-debug/test/tmp/test_runner_₿₵_  _20230301_205509/interface_rpc_213' to consolidate all logs
2023-03-01T21:02:09.298000Z TestFramework (ERROR): 
2023-03-01T21:02:09.298000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T21:02:09.298000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T21:02:09.298000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py

Tail of the build log:

[388/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/proofcomparator_tests.cpp.obj
[389/740] Building CXX object src/pow/test/CMakeFiles/test-pow.dir/daa_tests.cpp.obj
[390/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/proof_tests.cpp.obj
[391/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/voterecord_tests.cpp.obj
[392/740] Building CXX object src/pow/test/CMakeFiles/test-pow.dir/aserti32d_tests.cpp.obj
[393/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/peermanager_tests.cpp.obj
[394/740] Building CXX object src/pow/test/CMakeFiles/test-pow.dir/eda_tests.cpp.obj
[395/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.obj
[396/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/proofpool_tests.cpp.obj
[397/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.obj
[398/740] Building CXX object src/pow/test/CMakeFiles/test-pow.dir/grasberg_tests.cpp.obj
[399/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.obj
[400/740] Building CXX object src/avalanche/test/CMakeFiles/test-avalanche.dir/processor_tests.cpp.obj
[401/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.obj
[402/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.obj
[403/740] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.obj
[404/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.obj
[405/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.obj
[406/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.obj
[407/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.obj
[408/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.obj
[409/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.obj
[410/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.obj
[411/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.obj
[412/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.obj
[413/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.obj
[414/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.obj
[415/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.obj
[416/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.obj
[417/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.obj
[418/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.obj
[419/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.obj
[420/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.obj
[421/740] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.obj
[422/740] Linking CXX static library src/libcommon.a
[423/740] Linking CXX static library src/libscript.a
[424/740] Linking CXX static library src/libbitcoinconsensus.a
[425/740] Creating version file for bitcoin-cli
[426/740] Creating version file for bitcoinconsensus-shared
[427/740] Creating version file for bitcoin-tx
[428/740] 
[429/740] 
[430/740] 
[431/740] Building CXX object src/CMakeFiles/bitcoinconsensus-shared.dir/script/bitcoinconsensus.cpp.obj
[432/740] Building RC object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.rc.res
/work/abc-ci-builds/build-win64/src/bitcoin-tx.rc:25: use "" to put " in a string
/work/abc-ci-builds/build-win64/src/bitcoin-tx.rc:25: use "" to put " in a string
[433/740] Building RC object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.rc.res
/work/abc-ci-builds/build-win64/src/bitcoin-cli.rc:25: use "" to put " in a string
/work/abc-ci-builds/build-win64/src/bitcoin-cli.rc:25: use "" to put " in a string
[434/740] Building RC object src/CMakeFiles/bitcoinconsensus-shared.dir/bitcoinconsensus-shared.rc.res
/work/abc-ci-builds/build-win64/src/bitcoinconsensus-shared.rc:25: use "" to put " in a string
/work/abc-ci-builds/build-win64/src/bitcoinconsensus-shared.rc:25: use "" to put " in a string
[435/740] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.obj
[436/740] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.obj
[437/740] Linking CXX shared library src/libbitcoinconsensus.dll
[438/740] Linking CXX executable src/bitcoin-cli.exe
[439/740] Linking CXX executable src/bitcoin-tx.exe
ninja: build stopped: cannot make progress due to previous errors.
Build build-win64 failed with exit code 1

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T20:58:50.256000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205407/interface_rpc_213
2023-03-01T20:58:50.554000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T20:58:50.555000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T20:58:50.555000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T20:58:50.556000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T20:58:50.975000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T20:58:51.027000Z TestFramework (INFO): Stopping nodes
2023-03-01T20:58:51.279000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205407/interface_rpc_213
2023-03-01T20:58:51.280000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205407/interface_rpc_213/test_framework.log
2023-03-01T20:58:51.280000Z TestFramework (ERROR): 
2023-03-01T20:58:51.281000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205407/interface_rpc_213' to consolidate all logs
2023-03-01T20:58:51.281000Z TestFramework (ERROR): 
2023-03-01T20:58:51.281000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T20:58:51.282000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T20:58:51.282000Z TestFramework (ERROR):
====== Bitcoin ABC functional tests with the next upgrade activated: interface_rpc.py ======

------- Stdout: -------
2023-03-01T21:03:03.685000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205855/interface_rpc_213
2023-03-01T21:03:03.961000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T21:03:03.962000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T21:03:03.962000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T21:03:03.963000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T21:03:04.348000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T21:03:04.402000Z TestFramework (INFO): Stopping nodes
2023-03-01T21:03:04.453000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205855/interface_rpc_213
2023-03-01T21:03:04.454000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205855/interface_rpc_213/test_framework.log
2023-03-01T21:03:04.454000Z TestFramework (ERROR): 
2023-03-01T21:03:04.454000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-diff/test/tmp/test_runner_₿₵_  _20230301_205855/interface_rpc_213' to consolidate all logs
2023-03-01T21:03:04.454000Z TestFramework (ERROR): 
2023-03-01T21:03:04.454000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T21:03:04.454000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T21:03:04.454000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py
Bitcoin ABC functional tests with the next upgrade activated: interface_rpc.py

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T21:08:14.118000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210351/interface_rpc_213
2023-03-01T21:08:14.395000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T21:08:14.396000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T21:08:14.396000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T21:08:14.397000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T21:08:14.774000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T21:08:14.827000Z TestFramework (INFO): Stopping nodes
2023-03-01T21:08:14.879000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210351/interface_rpc_213
2023-03-01T21:08:14.879000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210351/interface_rpc_213/test_framework.log
2023-03-01T21:08:14.879000Z TestFramework (ERROR): 
2023-03-01T21:08:14.879000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210351/interface_rpc_213' to consolidate all logs
2023-03-01T21:08:14.879000Z TestFramework (ERROR): 
2023-03-01T21:08:14.879000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T21:08:14.880000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T21:08:14.880000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T21:09:14.660000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210504/interface_rpc_213
2023-03-01T21:09:14.936000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T21:09:14.936000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T21:09:14.937000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T21:09:14.938000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T21:09:15.311000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T21:09:15.364000Z TestFramework (INFO): Stopping nodes
2023-03-01T21:09:15.416000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210504/interface_rpc_213
2023-03-01T21:09:15.416000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210504/interface_rpc_213/test_framework.log
2023-03-01T21:09:15.416000Z TestFramework (ERROR): 
2023-03-01T21:09:15.416000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-native-osx/test/tmp/test_runner_₿₵_  _20230301_210504/interface_rpc_213' to consolidate all logs
2023-03-01T21:09:15.416000Z TestFramework (ERROR): 
2023-03-01T21:09:15.416000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T21:09:15.416000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T21:09:15.417000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py

try fork again, to see if success is reproducible

Failed tests logs:

====== Bitcoin ABC functional tests: interface_rpc.py ======

------- Stdout: -------
2023-03-01T21:11:38.945000Z TestFramework (INFO): Initializing test directory /work/abc-ci-builds/build-linux64/test/tmp/test_runner_₿₵_  _20230301_210718/interface_rpc_213
2023-03-01T21:11:39.222000Z TestFramework (INFO): Testing getrpcinfo...
2023-03-01T21:11:39.222000Z TestFramework (INFO): Testing basic JSON-RPC batch request...
2023-03-01T21:11:39.223000Z TestFramework (INFO): Testing HTTP status codes for JSON-RPC requests...
2023-03-01T21:11:39.224000Z TestFramework (INFO): Testing work queue exceeded...
2023-03-01T21:11:39.618000Z TestFramework (ERROR): JSONRPC error
Traceback (most recent call last):
  File "/work/test/functional/test_framework/test_framework.py", line 136, in main
    self.run_test()
  File "/work/test/functional/interface_rpc.py", line 124, in run_test
    self.test_work_queue_exceeded()
  File "/work/test/functional/interface_rpc.py", line 107, in test_work_queue_exceeded
    p.start()
  File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/usr/lib/python3.9/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/work/test/functional/test_framework/test_node.py", line 865, in __call__
    return self.cli.send_cli(self.command, *args, **kwargs)
  File "/work/test/functional/test_framework/test_node.py", line 938, in send_cli
    raise JSONRPCException(dict(code=int(code), message=message))
test_framework.authproxy.JSONRPCException: Method not found (-32601)
2023-03-01T21:11:39.671000Z TestFramework (INFO): Stopping nodes
2023-03-01T21:11:39.723000Z TestFramework (WARNING): Not cleaning up dir /work/abc-ci-builds/build-linux64/test/tmp/test_runner_₿₵_  _20230301_210718/interface_rpc_213
2023-03-01T21:11:39.723000Z TestFramework (ERROR): Test failed. Test logging available at /work/abc-ci-builds/build-linux64/test/tmp/test_runner_₿₵_  _20230301_210718/interface_rpc_213/test_framework.log
2023-03-01T21:11:39.723000Z TestFramework (ERROR): 
2023-03-01T21:11:39.723000Z TestFramework (ERROR): Hint: Call /work/test/functional/combine_logs.py '/work/abc-ci-builds/build-linux64/test/tmp/test_runner_₿₵_  _20230301_210718/interface_rpc_213' to consolidate all logs
2023-03-01T21:11:39.723000Z TestFramework (ERROR): 
2023-03-01T21:11:39.724000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2023-03-01T21:11:39.724000Z TestFramework (ERROR): https://github.com/Bitcoin-ABC/bitcoin-abc/issues
2023-03-01T21:11:39.724000Z TestFramework (ERROR):

Each failure log is accessible here:
Bitcoin ABC functional tests: interface_rpc.py

@bot build-native-osx build-linux-64

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

@bot build-native-osx build-linux-64

The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.
PiRK retitled this revision from fix interface_rpc test on MacOS to fix multiprocessing part of interface_rpc test on MacOS.
PiRK edited the summary of this revision. (Show Details)
PiRK edited the test plan for this revision. (Show Details)

add a comment

PiRK published this revision for review.Mar 2 2023, 10:59
This revision is now accepted and ready to land.Mar 2 2023, 11:16