-
Notifications
You must be signed in to change notification settings - Fork 64
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
Tunnel fails to close after Linux system resumes from sleep #342
Comments
Thanks for reporting the issue. Though the root cause here seems to be that we are not able to https://github.com/Jigsaw-Code/outline-sdk/blob/v0.0.17/x/examples/outline-cli/app_linux.go#L36 Because in the normal case, once the
|
minor: Opportunistically clean-up stale route rule in outline-cli closes Jigsaw-Code#342
I've prepared a pull request. I have too noticed that once my laptop goes to sleep, It turns out Once I've fixed that and added a separate lock around addition of new sender, it will now able to recover most of the time and it is possible to shut it down normally. Please review! |
minor: Opportunistically clean-up stale route rule in outline-cli closes Jigsaw-Code#342
minor: Opportunistically clean-up stale route rule in outline-cli closes Jigsaw-Code#342
On a Linux-based system, after resuming from sleep, it is impossible to close the tunnel without killing the process.
Here’s the normal behavior when closing the tunnel:
However, after resuming from sleep, attempting to close the tunnel results in infinite waiting:
The only way to close the tunnel in this case is to kill the
outline-cli
process manually.The issue occurs in
app_linux.go
, specifically here:This section does not receive an EOF, preventing the connection from closing.
I believe the issue lies in how
io.Copy
blocks indefinitely while waiting for data from the TUN device. This behavior becomes problematic after the system wakes up from sleep, as the TUN device does not signal EOF or return from theRead
call.The text was updated successfully, but these errors were encountered: