Skip to content

Commit 3054416

Browse files
committed
Merge bitcoin/bitcoin#29425: test: fix intermittent failure in wallet_reorgrestore.py
44d1153 test: fix intermittent failure in wallet_reorgrestore.py (Martin Zumsande) Pull request description: By adding a missing `sync_blocks` call. There was a race at `node2` between connecting the block produced by `node0`, and using `-generate` to create new blocks itself. In the failed run, block generation started before connecting the block, resulting in a final block height that was smaller by 1 than expected. See bitcoin/bitcoin#29392 (comment) for a more detailed analysis of the failed run. Can be reproduced by adding a sleep to [this spot](https://github.com/bitcoin/bitcoin/blob/6ff0aa089c01ff3e610ecb47814ed739d685a14c/src/validation.cpp#L4217) in `ChainstateManager::ProcessNewBlock()`: ``` if (util::ThreadGetInternalName() == "msghand") { std::this_thread::sleep_for(0.2s); } ``` which fails for me on master and succeeds with the fix. Fixes #29392 ACKs for top commit: maflcko: lgtm ACK 44d1153 Tree-SHA512: c08699e5ae348d4c0626022b519449d052f511d3f44601bcd8dac836a130a3f67fca149532e1e3690367ebfdcbcdd32e527170d039209c1f599ce861136ae29f
2 parents 6ff0aa0 + 44d1153 commit 3054416

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

test/functional/wallet_reorgsrestore.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def run_test(self):
4545
txid = self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), Decimal("10"))
4646
tx = self.nodes[0].gettransaction(txid)
4747
self.generate(self.nodes[0], 4, sync_fun=self.no_op)
48+
self.sync_blocks([self.nodes[0], self.nodes[2]])
4849
tx_before_reorg = self.nodes[0].gettransaction(txid)
4950
assert_equal(tx_before_reorg["confirmations"], 4)
5051

0 commit comments

Comments
 (0)