-
-
Notifications
You must be signed in to change notification settings - Fork 771
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
NetworkManager StopClient Deadlock if Transport.ClientDisconnect doesn't check if already disconnected #2353
Labels
bug
Something isn't working
Comments
miwarnec
pushed a commit
to MirrorNetworking/kcp2k
that referenced
this issue
Oct 21, 2020
…lient deadlock that happens because of a Mirror bug (MirrorNetworking/Mirror#2353)
miwarnec
pushed a commit
that referenced
this issue
Oct 21, 2020
…ort ClientDisconnect calls OnDisconnected immediately. Related to: #2353
miwarnec
pushed a commit
that referenced
this issue
Oct 21, 2020
…ort ClientDisconnect calls OnDisconnected immediately. Related to: #2353
miwarnec
changed the title
NetworkManager StopClient Deadlock if Transport.Disconnect doesn't check if already disconnected
NetworkManager StopClient Deadlock if Transport.ClientDisconnect doesn't check if already disconnected
Oct 22, 2020
should be fixed in master. |
viacheslavpopov
pushed a commit
to viacheslavpopov/KCP2K
that referenced
this issue
Aug 20, 2021
…lient deadlock that happens because of a Mirror bug (MirrorNetworking/Mirror#2353)
reopening this because the fix in kcp was wrong. |
nvm this doesn't happen anymore.
this is similar to very old UNET bugs/behaviour that we fixed the same way:
|
miwarnec
pushed a commit
that referenced
this issue
Dec 23, 2023
…eeded anymore since the original Mirror issue is long gone
miwarnec
pushed a commit
that referenced
this issue
Jan 3, 2024
- added [KCP] to all log messages - fix: #3704 remove old fix for #2353 which caused log spam and isn't needed anymore since the original Mirror issue is long gone - fix: KcpClient.RawSend now returns if socket wasn't created yet - fix: #3591 KcpPeer.SendDisconnect now rapid fires several unreliable messages instead of sending reliable. Fixes disconnect message not going through if the connection is closed & removed immediately after.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
for future reference.
reproduce:
encountered it because kcptransport ClientDisconnect does not check if already disconnected, so it would call it over and over again.
note that kcp clientdisconnect sets clientconnect=null AFTER the call. but the deadlock is IN the call.
in other words we need to avoid the self recursion in networkmanager stopclient.
The text was updated successfully, but these errors were encountered: