Repository navigation
Fix for #14837: Ghostty freezes when closing a tab stuck on an unresponsive FUSE/sshfs mount #15130
Unanswered
adimalkar
asked this question in
Vouch Request
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What do you want to change?
I want to fix the problem where the UI stops working, which was first talked about in #14837 and also mentioned in #14836, using the ideas that jcollie came up with to figure out what's going on.
If an sshfs mount stops working, closing the tab that's having problems can cause all Ghostty windows to freeze. This happens because killPid keeps trying to send a SIGHUP signal over and over, and the main GTK thread is waiting for the IO thread to finish.
The fix I have in mind is to add a short delay of 1-2 seconds before we use SIGKILL. This way, we can still keep the current way of cleaning up processes, but avoid getting stuck in an infinite loop. To test this, I used a FUSE test and was able to reproduce the hang, now I just need to try it out in Ghostty to confirm.
Why do you want to make this change?
I use Linux every day, EndeavourOS to be precise and I think it's a big problem when one tab freezes the whole terminal. This is especially bad in a situation where I'm working on a remote computer with a shaky internet connection. It's frustrating that if something like an sshfs mount stops working, I would have to restart Ghostty and lose all my work.
I've looked into this and reproduced the hang on a test mount, so I think a small tweak can make Ghostty work better without needing a big change.
I acknowledge that:
All reactions