-
Notifications
You must be signed in to change notification settings - Fork 37.7k
test: Fix intermittent timeout in p2p_permissions.py #26854
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The head ref may contain hidden characters: "2301-test-timeout-p2p-perm-\u{1F499}"
Conversation
33dc224
to
fa3a90d
Compare
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This runs into other timeouts (p2p_node_network_limited.py
, see CI) although the test passes for me locally.
fa3a90d
to
fa1bf4e
Compare
Thanks. Fixed by replacing |
Is this also a fix for the mempool timeouts in #26440? |
Seems likely, but not sure if this is possible to tell without having Cirrus CI upload the full datadir + test log of the failure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fa1bf4e
This makes the test code dependent on their being a ping right after connection setup (which is the case today because m_ping_start=0us
initially, but one could imagine other ways of initialization.
Another possibility might be to expose fSuccessfullyConnected
via RPC (e.g. in getpeerinfo
) and use that, but I'm not sure if that is better if that field is not really interesting to user and just used by tests.
In the unlikely case that this is changed, it should be possible to just call the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK fa1bf4e
I verified I could reproduce the failure on master with rr
but not on this branch.
The sync is based on
bytesrecv_per_msg["verack"]
. However, the bytes are counted before processing the message, so they are not sufficient to ensure the connection is fully up.