Renderer segfault when fullscreen window moves to smaller monitor (GTK/Wayland, multi-monitor) #12395
Replies: 2 comments 1 reply
|
Sorry, but we can't read raw machine code without any debug symbols. The |
|
Another data point on 1.3.1 (snap, stable) with the same trigger — a window moving between monitors of different resolution — but a different crash signature and no fullscreen involved. Possibly the same underlying bug manifesting differently. Symptom: all four open windows vanished at once. They were all in a single ghostty process, so one heap corruption took the lot. Crash line — glibc abort, not SIGSEGV:
Difference from the OP: the window was not fullscreen. Just an ordinary window dragged from a 3840x1600 monitor to a 3840x2160 one. Environment
Possibly relevant — fractional scaling is enabled.
Ghostty also sets these itself at startup, which seems worth noting next to a compositor doing fractional scaling: And EGL warnings on every start, presumably snap confinement: On debug symbols: understood re: the earlier comment — the snap is ReleaseFast with no symbols, so I have no useful backtrace either. But |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Ghostty consistently crashes with a segfault in the renderer thread when a fullscreen window is moved to a smaller monitor. This has occurred 3 times in the past week, all with an identical crash signature.
Steps to Reproduce
This happens consistently — every time a fullscreen Ghostty window transitions between monitors of different resolutions.
Crash Log
Three crashes in the past week, all at the same instruction pointer with identical machine code:
Faulting instruction (identical in all three):
rendererthread, not the main threadContextual Clues from Logs
The Apr 22 crash is the most informative. At the exact same timestamp:
XWAYLAND: mode -1x-1 is not available— an invalid display mode was encounteredDISPLAY_METRICS_CHANGEDandDISPLAY_ADDED— confirming a monitor configuration change eventunimplemented action=.cell_sizeimmediately before the crashadjusting page capacity7 seconds before the Apr 21 crashThis strongly suggests a race condition or use-after-free in the renderer during a display/resize event triggered by monitor switching.
Environment
Monitor setup (3 monitors):
Additional Notes
GHOSTTY_LOG=debugor a debug build if that would help narrow down the specific renderer code pathAll reactions