Summary
linux64-test / Test source can intermittently lose the shared RPC coverage temp directory during the coverage-enabled functional test run, causing otherwise unrelated tests to crash with FileNotFoundError in test_framework/coverage.py.
CI occurrence
Failure mode
Two tests in the same run failed while trying to append RPC coverage data:
p2p_dns_seeds.py
File "/__w/dash/dash/build-ci/dashcore-linux64/test/functional/test_framework/coverage.py", line 57, in _log_call
with open(self.coverage_logfile, 'a+', encoding='utf8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/coverage14baegnk/coverage.pid18731.node0.txt'
feature_csv_activation.py
File "/__w/dash/dash/build-ci/dashcore-linux64/test/functional/test_framework/coverage.py", line 57, in _log_call
with open(self.coverage_logfile, 'a+', encoding='utf8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/coverage14baegnk/coverage.pid19055.node0.txt'
Both failures point at the same missing shared coverage directory:
Diagnosis
test/functional/test_runner.py creates one shared coverage directory with tempfile.mkdtemp(prefix="coverage") and passes it to all tests via --coveragedir=....
In this run, that directory disappeared while tests were still executing, so later RPC calls crashed when the coverage wrapper tried to append to coverage.pid*.txt.
This does not look related to the PR's actual diff (only CI workflow/env files plus test/get_previous_releases.py were changed), and it is separate from the concurrent known feature_llmq_signing.py flake in the same job.
Reproduction
No deterministic local repro yet.
Observed in CI during the standard coverage-enabled linux64 functional test run.
Summary
linux64-test / Test sourcecan intermittently lose the shared RPC coverage temp directory during the coverage-enabled functional test run, causing otherwise unrelated tests to crash withFileNotFoundErrorintest_framework/coverage.py.CI occurrence
ci: migrate primary CI jobs to ARM runners)linux64-test / Test source(70248433408)test_logs-linux64-38414582Failure mode
Two tests in the same run failed while trying to append RPC coverage data:
p2p_dns_seeds.pyfeature_csv_activation.pyBoth failures point at the same missing shared coverage directory:
/tmp/coverage14baegnkDiagnosis
test/functional/test_runner.pycreates one shared coverage directory withtempfile.mkdtemp(prefix="coverage")and passes it to all tests via--coveragedir=....In this run, that directory disappeared while tests were still executing, so later RPC calls crashed when the coverage wrapper tried to append to
coverage.pid*.txt.This does not look related to the PR's actual diff (only CI workflow/env files plus
test/get_previous_releases.pywere changed), and it is separate from the concurrent knownfeature_llmq_signing.pyflake in the same job.Reproduction
No deterministic local repro yet.
Observed in CI during the standard coverage-enabled linux64 functional test run.