-
-
Notifications
You must be signed in to change notification settings - Fork 401
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
bug: Zombie users (reproduceable) #359
Comments
cc @voldyman you were looking at this before, any interest in investigating? :) |
This is interesting, what happens when you try to kick the user after they've reached this state? |
@voldyman The usual zombie behaviour we saw before,
|
Maybe a good way is to setup a server with a debugger attached/tracing, and try connecting and dropping from termius. |
yeah, that would be a good starting point. |
Having trouble reproducing locally T_T
|
cc @shazow Wait until you can't physically type in the terminal to close it. |
@epicgoldenlife I haven't been able to get it to that state, any other tips? I find the user disconnects within a few minutes of swiping away the app, at least on Android 11. |
I'd say instead of swiping away the app, try just pressing the home key and locking the screen. I know this isn't part of the original procedure to reproduce this bug, but I think android may have been aggressively killing the app in your case. |
Tried that too, still can't reproduce it. :( Can you try running the latest master ssh-chat locally and connecting to it from your phone and see if you can reproduce it locally? |
I also noticed that when I connect to sshchat and then hibernate my windows device, the user stays connected for a few minutes, and I'm even able to resume the session like nothing happened when the computer is booted up again. |
It's not related, that's just an artifact of the ssh timeout procedure and
the ability to resume tcp sockets until they timeout.
|
I spun up a dedicated server to populate with zombies, and we got some success. Here are the results. Debug logs: (It seems zombies1-5 were indeed zombies, though zombie5 might have zombified in a special way?)
pprof goroutine dump:
|
Expected Behavior
User will be kicked when the moderator types
/kick user
Actual Behavior
When using a certain client and exiting, the user lingers and cannot be kicked or banned until restarting the server.
Steps to reproduce behavior
Additional Comments
This bug is extremely hard to reproduce intentionally and requires some patience.
I noticed that the client for the un-kickable users was SSH-2.0-libssh2_1.9.0_DEV (maybe this can be produced with other apps that support this type of client?).
Android version: 7
Battery Saving: On
SSH Client: Termius
The text was updated successfully, but these errors were encountered: