Skip to content

Commit 8f5c9a7

Browse files
author
MarcoFalke
committed
Merge bitcoin/bitcoin#22153: test: Fix p2p_leak.py intermittent failure
ca3a770 test: Fix p2p_leak.py intermittent failure by lowering timeout (Martin Zumsande) Pull request description: Fixes #22085 Root cause: There was just 1 second between the wait (5 seconds) and the `-peertimeout=4`. Since `ShouldRunInactivityChecks` in `net.cpp` measures the timeout in seconds, its result can only change once per second, even though it is called more often. So in situations when the connection is established early in a given second like [here](https://bitcoinbuilds.org/index.php?ansilog=d7b3e075-683a-45cc-94d4-9645fc17e0b6.log#l3117) (2021-05-27T12:28:04.**001**913Z ), the 1 second leeway was not be sufficient, leading to the intermittent failures. Fix this by lowering the timeout by one second. ACKs for top commit: MarcoFalke: re-ACK ca3a770 Tree-SHA512: e7e22356d276c65a5b4f0a1b7ee5a9ad07d27691220746c7d02af3fad22cab1d53fd0ef59a938167ec80e4571c96649132d6922ad10667fc91baa47892f27a3e
2 parents 346e52a + ca3a770 commit 8f5c9a7

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

test/functional/p2p_leak.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
assert_greater_than_or_equal,
3030
)
3131

32+
PEER_TIMEOUT = 3
33+
3234

3335
class LazyPeer(P2PInterface):
3436
def __init__(self):
@@ -98,7 +100,7 @@ def on_version(self, msg):
98100
class P2PLeakTest(BitcoinTestFramework):
99101
def set_test_params(self):
100102
self.num_nodes = 1
101-
self.extra_args = [['-peertimeout=4']]
103+
self.extra_args = [[f"-peertimeout={PEER_TIMEOUT}"]]
102104

103105
def create_old_version(self, nversion):
104106
old_version_msg = msg_version()
@@ -134,7 +136,7 @@ def run_test(self):
134136
self.nodes[0].generate(nblocks=1)
135137

136138
# Give the node enough time to possibly leak out a message
137-
time.sleep(5)
139+
time.sleep(PEER_TIMEOUT + 2)
138140

139141
# Make sure only expected messages came in
140142
assert not no_version_idle_peer.unexpected_msg

0 commit comments

Comments
 (0)