-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
chain sync deadlocked trying to dial peers #518
Comments
I have also seen this on the gateway. Is this a private network or the public libp2p network?
Regardless, we should add a global stream negotiation timeout. |
@Stebalien it is a private network. |
Ok, then we have a problem. |
I wonder if I/O on the connection is still operational. It's possible that the connection is broken, but Alternatively the connection could be congested. It could be the other peer that's deadlocked somehow. multistream-select v1 is an interactive protocol, but we don't set read deadlines IIRC, so if the other party is frozen, we can freeze as well. Is this TCP or QUIC? What could be potentially happening here is that you have a misbehaving Lotus protocol that's not emptying I/O properly, and the underlying transport hits congestion. I'm assuming the transport is TCP, because with QUIC in theory you wouldn't observe this head-of-line blocking. My reading of the situation, to aid the debugging process:
|
I'm working on a fix to introduce deadline/timeouts in multistream-select. |
@raulk any updates here? |
@whyrusleeping did anything change here? |
well, in any case, i havent seen this happen for a long time, and i think several related changes were merged into libp2p |
SGTM! |
This is really weird. Not sure yet how to handle it.
The text was updated successfully, but these errors were encountered: