-
Notifications
You must be signed in to change notification settings - Fork 998
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
libp2p connections can stick around in zombi mode #2388
Comments
Oh My, this is the reason My Flutter App hangs after hot reload, have to close and restart the App. |
Does this happen on |
happens with #2350 included. but banning doesn't have anything to do with it. I'm thinking one solution would be to generate a random number at startup and send it with multistream-select. then if there was a state loss the other peer would detect it by receiving a new connection with a new session id or whatever you want to call it. that would then cause the swarm to close all the expired sessions and emit the proper events. |
I am not sure I follow on the bug report itself. Would you mind describing the steps involved? How do connections get into the "zombie" state? Does one endpoint disconnect? |
a connects to b would add a test to reproduce it but it requires tons of boilerplate. wasn't there an effort to add an add_address to the swarm? |
actually never mind. just thought that the other explanation is that the old swarm isn't shut down and somehow still around. seems like that's more likely |
this happens reliably when hot reloading our flutter application during testing. there is no
inject_disconnected
orinject_connected
emitted, just a newinject_connection_established
. this causes all sorts of weird behaviour as the other application when usingNotifyHandler::Any
will send the on the old connection that refuses to die.The text was updated successfully, but these errors were encountered: