-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
uv panics when resizing terminal window #12244
Comments
At one level, what's going on here is that the shell completion generation code is trying to write a script but the reader is exiting/closing the pipe before it's done, which you can repro in isolation with e.g. So there's sort of two angles here. The first is, should uv exit quietly if that happens? I think the answer is yes. The traditional UNIX behavior is for programs to just exit quietly via the SIGPIPE signal defaulting to killing the process (just like SIGINT, SIGKILL, etc. do); indeed, The second angle is, why is this code running on resize, and why is it getting into a broken pipe situation? My initial guess is this has something to do with Ghostty's built-in fish integration. The uv setup instructions encourage you to put a It does seem like it might be better anyway to only generate shell completion in the interactive case as the fish docs encourage, e.g. something like status --is-interactive; and uv generate-shell-completion fish | source |
So i can definitely confirm that checking for interactivity first seems to solve the issue. Maybe a minor adjustment to the docs are in order?
|
That seems prudent |
Summary
Whenever i resize my terminal window, I get spammed with the following (or similar) errors for as long as I am resizing my window. I started getting these when a switch to using ghostty as my terminal app and am wondering if the refresh/repaint interval on the resize is just faster than expected.
When i enable the full backtrace im getting:
system details:
Platform
macOS 15.3
Version
uv 0.6.2
Python version
Python 3.12.9
The text was updated successfully, but these errors were encountered: