SIGSEGV at startup on Fedora 44: bundled fontconfig + glycin SVG icon loader #12555
Unanswered
Jarbowsky
asked this question in
Issue Triage
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.
-
Summary
Ghostty 1.3.1 segfaults at startup on Fedora 44 every launch (terminal and app launcher). The crash is in
gtk_window_realize_icon→glycin(gdk-pixbuf SVG loader) →fontconfig, and appears to be the same root cause as #10568 / #11152 (bundled fontconfig symbol interposition) but via a different trigger path: window icon loading rather than font rendering via libpangoft2.PR #11152 ("link to system FontConfig by default on non-macOS systems") would have fixed this but was reverted, so 1.3.1 still ships the bundled fontconfig and the bug is reachable on a vanilla install.
Environment
1.3.1-2.fc44(Fedora package)Reproduction
ghosttyfrom Fedora 44 repos.ghosttyfrom any terminal.SIGSEGV (Address boundary error)before the window appears.Stack trace (top frames)
Full coredump available via
coredumpctl info.Why this is the same root cause as #10568
glycin (linked against system libfontconfig) calls
FcConfigGetCacheDirswhile preparing the bwrap sandbox. Due to symbol interposition from Ghostty's exported bundled fontconfig symbols, the call resolves into Ghostty's bundled copy, whose internal state is incompatible with how glycin uses it — leading to the use-after-free / double-free style crash inFcStrSetDestroy.This is not a glycin bug per se: glycin works correctly in every other GTK4 app on this system (Files, Image Viewer, etc.). Only Ghostty triggers it because only Ghostty exports its bundled fontconfig into the global symbol table.
Workaround
Disable Fontconfig in glycin's SVG loader config so glycin doesn't call into fontconfig during sandbox setup:
This bypasses the crash but is obviously not a real fix — it just avoids the codepath that surfaces the underlying symbol interposition bug.
Suggested fixes
-fvisibility=hiddento the bundled fontconfig build flags so the bundled symbols don't leak into the global symbol table (mentioned in font rendering segv/panic rendering certain (pot. libgallium issue?) #10568 as a candidate).Either approach should fix both this crash and the libpangoft2 crash in #10568.
Originally filed as issue #12554, moved to Discussions per contributing guidelines.
Beta Was this translation helpful? Give feedback.
All reactions