Ok, this is a bit tedious to test, but to check if the code was hit, I added a print:
diff --git a/test/functional/feature_dbcrash.py b/test/functional/feature_dbcrash.py
index 24e663af82..08b2d83224 100755
--- a/test/functional/feature_dbcrash.py
+++ b/test/functional/feature_dbcrash.py
@@ -172,6 +172,7 @@ class ChainstateWriteCrashTest(BitcoinTestFramework):
# probably a crash on db flushing
self.wait_for_node_exit(i, timeout=10)
nodei_utxo_hash = self.restart_node(i, expected_tip=self.nodes[3].getbestblockhash())
+ print('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')
assert_equal(nodei_utxo_hash, node3_utxo_hash)
def generate_small_transactions(self, node, count, utxo_list):
After 7 runs I got:
...
2026-05-28T13:32:10.069860Z TestFramework (INFO): Iteration 39, generating 2500 transactions [10, 5, 3]
2026-05-28T13:32:29.601244Z TestFramework (INFO): Verifying utxo hash matches for all nodes
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
2026-05-28T13:32:30.487595Z TestFramework (INFO): Restarted nodes: [11, 5, 3]; crashes on restart: 26
2026-05-28T13:32:30.553091Z TestFramework (INFO): Stopping nodes
2026-05-28T13:32:30.658533Z TestFramework (INFO): Cleaning up /tmp/bitcoin_func_test_mp2hcv2o on exit
2026-05-28T13:32:30.658594Z TestFramework (INFO): Tests successful