Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
I have a reproducible test case failure on my machine. I’ve bisected it to commit 714523918ba2b853fc69bee6b04a33ba0c828bf5. Since this commit, the test case policyestimator_tests/BlockPolicyEstimates
fails, but only when I use my builds script:
0chrt -i 0 make -j32 check
chrt
runs the make command in idle priority (I use that so I can smoothly browse while testing). I have an AMD 7950x with 16 cores/32 threads. When I remove chrt -i 0
the test works. I suspect that it fails because for whatever reason it can’t run in parallel with another test, but so far I couldn’t narrow it down.
0❯ chrt -i 0 make -j32 check |grep error
1test/policyestimator_tests.cpp(129): error: in "policyestimator_tests/BlockPolicyEstimates": check origFeeEst[i-1] < mult*baseRate.GetFeePerK() + deltaFee has failed
2test/policyestimator_tests.cpp(129): error: in "policyestimator_tests/BlockPolicyEstimates": check origFeeEst[i-1] < mult*baseRate.GetFeePerK() + deltaFee has failed
3test/policyestimator_tests.cpp(129): error: in "policyestimator_tests/BlockPolicyEstimates": check origFeeEst[i-1] < mult*baseRate.GetFeePerK() + deltaFee has failed
4test/policyestimator_tests.cpp(129): error: in "policyestimator_tests/BlockPolicyEstimates": check origFeeEst[i-1] < mult*baseRate.GetFeePerK() + deltaFee has failed
5test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
6test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
7test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
8test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
9test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
10test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
11test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
12test/policyestimator_tests.cpp(151): error: in "policyestimator_tests/BlockPolicyEstimates": check feeEst.estimateFee(i).GetFeePerK() > origFeeEst[i-1] - deltaFee has failed
13make[3]: *** [Makefile:22606: test/policyestimator_tests.cpp.test] Error 1
14make[3]: *** Waiting for unfinished jobs....
15make[2]: *** [Makefile:20548: check-am] Error 2
16make[1]: *** [Makefile:20213: check-recursive] Error 1
17make: *** [Makefile:813: check-recursive] Error 1
Expected behaviour
All unit tests should succeed
Steps to reproduce
0./autogen.sh
1./configure CXX=clang++ CC=clang --disable-wallet --with-guid=no
2chrt -i 0 make -j32 check
Relevant log output
I uploaded the full log of chrt -i 0 make -j32 check >out.txt
here: https://gist.github.com/martinus/5d6795cd618f7d203e95d4f5426746f0
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
160d23677ad
Operating system and version
Linux 6.6.2-201.fc39.x86_64
Machine specifications
AMD 7950x