Skip to content
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

Patch up disconnect on mplex #416

Open
ralexstokes opened this issue May 21, 2020 · 2 comments
Open

Patch up disconnect on mplex #416

ralexstokes opened this issue May 21, 2020 · 2 comments

Comments

@ralexstokes
Copy link
Contributor

Reliably see this when using mplex when a remote peer disconnects (possibly w/o warning):

DEBUG mplex unavailable while waiting for incoming: failed to read the header correctly from the underlying connection: {'requested_count': 2, 'received_count': 0}
@ralexstokes
Copy link
Contributor Author

Seeing a related exception where I think there is some incorrect channel accounting in mplex.

End result is a MplexStreamReset that raises a StreamReset and this takes down the entire libp2p.Host.

Any individual peer failure should not disrupt the function of the host...

@ralexstokes
Copy link
Contributor Author

There seems to be race between our set of peers and the pubsub machinery.

If a peer disconnects at the right time (which seems to be when pubsub is iterating through peers to send messages to), the peers dictionary is changed, which raises an iterator exception.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

1 participant