Failure
evo_dip3_activation_tests/verify_db_legacy intermittently fails in CI at src/test/evo_deterministicmns_tests.cpp:102:
fatal error: in "evo_dip3_activation_tests/verify_db_legacy": critical check txFrom has failed
Latest occurrence: https://github.com/dashpay/dash/actions/runs/29099324049/job/86389057100
This occurred in the linux64_sqlite-build / Build source job for #7424. That PR changes only src/chainlock/handler.cpp, src/chainlock/handler.h, and src/test/llmq_chainlock_tests.cpp; it does not touch the failing deterministic-masternode test.
Root cause
FuncVerifyDB mines a non-coinbase collateral transaction, then a later signing path looks it up through GetTransaction/g_txindex. The txindex background thread is asynchronous, so the lookup can race indexing and return no transaction.
Open PR #7266 already contains the focused fix: wait for txindex synchronization before querying the mined non-coinbase transaction. It also cites an earlier occurrence in run 23958304920.
Reproduction / evidence
The failure is intermittent. On the #7424 branch build, the focused command passed 10 consecutive runs:
src/test/test_dash --run_test=evo_dip3_activation_tests/verify_db_legacy --catch_system_errors=no --log_level=test_suite
CI hit the race once with random seed ddfad7b3915a91009dd907bd1a76abcfe8e3ad8703752f0ed29110aa6c26201f.
Proposed resolution
Rebase/refresh and merge #7266 (or an equivalent txindex synchronization fix).
Failure
evo_dip3_activation_tests/verify_db_legacyintermittently fails in CI atsrc/test/evo_deterministicmns_tests.cpp:102:Latest occurrence: https://github.com/dashpay/dash/actions/runs/29099324049/job/86389057100
This occurred in the
linux64_sqlite-build / Build sourcejob for #7424. That PR changes onlysrc/chainlock/handler.cpp,src/chainlock/handler.h, andsrc/test/llmq_chainlock_tests.cpp; it does not touch the failing deterministic-masternode test.Root cause
FuncVerifyDBmines a non-coinbase collateral transaction, then a later signing path looks it up throughGetTransaction/g_txindex. The txindex background thread is asynchronous, so the lookup can race indexing and return no transaction.Open PR #7266 already contains the focused fix: wait for txindex synchronization before querying the mined non-coinbase transaction. It also cites an earlier occurrence in run 23958304920.
Reproduction / evidence
The failure is intermittent. On the #7424 branch build, the focused command passed 10 consecutive runs:
CI hit the race once with random seed
ddfad7b3915a91009dd907bd1a76abcfe8e3ad8703752f0ed29110aa6c26201f.Proposed resolution
Rebase/refresh and merge #7266 (or an equivalent txindex synchronization fix).