Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Cursor shows no text / aborts with SkFontMgr … Not implemented when another Electron app runs in a Distrobox container — root cause + fix
Setup: Fedora 44, GNOME 50.4 (Wayland), kernel 7.2.5, fontconfig 2.17.0. Cursor 3.20.21 (RPM, Chromium 148). Claude Desktop 2.110.0 installed from its Ubuntu .deb inside a Distrobox (Ubuntu 24.04, fontconfig 2.15.0) container that shares my home directory.
Symptoms
- Cursor opens, icons/panels render, every text string is blank. Chrome, Slack, GTK apps fine.
- Or Cursor dies within seconds (“Cursor Is Not Responding”, SIGTRAP core dump).
- Journal shows, every time:
ERROR:third_party/blink/renderer/core/css/remote_font_face_source.cc:365] NOTREACHED hit.
FATAL:third_party/skia/src/ports/SkFontMgr_FontConfigInterface.cpp:163] Not implemented.
- Intermittent: only happens if the containerised Electron app was launched before Cursor.
Root cause: fontconfig cache collision via the shared home
Electron apps write fontconfig caches to ~/.cache/fontconfig/, named <hash of font dir path>-le64.cache-11. The container shares $HOME, so Claude Desktop writes to the same directory — but its /usr/share/fonts is Ubuntu’s (truetype/ only), while the host’s has 47 Fedora font dirs. Same path → same hash → same filename → same tag. Whoever launched last wins. When the container app wins, Cursor’s next start trusts a cache describing fonts that don’t exist on the host → web-font fallback fails → Skia font manager aborts or draws nothing.
Host apps read cache-9 (system fontconfig 2.17) and never see the cache-11 files. Chrome also writes cache-11 but for the same Fedora fonts, so it never conflicts.
Steps to Reproduce
Requires two Electron apps sharing one home directory, one of them inside a container whose /usr/share/fonts differs from the host’s. My case: Cursor 3.20.21 on the Fedora 44 host; Claude Desktop 2.110.0 (.deb) inside a Distrobox Ubuntu 24.04 container (default Distrobox config shares $HOME).
- rm -rf ~/.cache/fontconfig # start from a clean shared cache
- Launch Cursor → renders normally. Quit Cursor.
- Launch the containerised Electron app (Claude Desktop). It writes ~/.cache/fontconfig/*-le64.cache-11 describing the CONTAINER’s /usr/share/fonts (Ubuntu: just truetype/).
- Launch Cursor → all UI text blank, or SIGTRAP within seconds. Journal shows:
ERROR:third_party/blink/renderer/core/css/remote_font_face_source.cc:365] NOTREACHED hit.
FATAL:third_party/skia/src/ports/SkFontMgr_FontConfigInterface.cpp:163] Not implemented. - Quit the container app, rm -rf ~/.cache/fontconfig, launch Cursor → works again.
Fingerprint: ls -l ~/.cache/fontconfig shows cache-11 files whose mtime matches the container app’s launch. Reproduced 8/8 with the container app started first; 0/5 failures with it isolated to its own cache dir (fix in the description). A cold-boot sequence Slack → Chrome → Claude Desktop → Cursor passes after the fix.
Expected Behavior
Cursor should render its UI text regardless of what other applications have written to ~/.cache/fontconfig. A stale or foreign fontconfig cache should degrade to a rescan or a fallback font — not blank text, and never a FATAL abort in SkFontMgr_FontConfigInterface. At minimum the failure should be diagnosable: a visible error rather than a window with no strings.
The trigger (a container sharing the host’s fontconfig cache) is arguably a Distrobox default problem, and I’ve documented the workaround. But the lack of any defence in Cursor’s font loading is what turns it into a silent, unusable editor — and it will affect anyone running Slack/VS Code/Discord .debs or Claude Desktop in Distrobox/Toolbox alongside Cursor.
Screenshots / Screen Recordings
Operating System
Linux
Version Information
IDE:
Version: 3.20.21
VSCode Version: 1.128.0
Commit: f09fca384ceca23f7bf21f9c23655b162641d740
Date: 2026-09-13T19:02:51.781Z
Electron: 42.10.0
Chromium: 148.0.7778.280
Package: cursor-3.20.21-1789329363.el8.x86_64 (official RPM; AppImage 3.20.21 reproduces identically)
OS: Fedora Linux 44 (Workstation Edition), kernel 7.2.5-200.fc44.x86_64, GNOME 50.4, Wayland
For AI issues: which model did you use?
N/A — not an AI/agent issue; startup rendering bug.
For AI issues: add Request ID with privacy disabled
N/A — no agent request involved. Console/journal errors quoted above.e
Additional Information
Not the cause (each tested with the container app running; each still failed): disable-hardware-acceleration, --disable-features=SkiaGraphite, --use-angle=swiftshader, --ozone-platform=x11, --disable-remote-fonts, the AppImage build, installing additional fonts (558 → 920 files), a DisplayLink/evdi dock, a fresh user profile, disabling all extensions.
Chrome 153 on the same host also writes cache-11 files but for the same Fedora fonts, so it never conflicts with Cursor — the container’s differing /usr/share/fonts under the identical path is the sole trigger.
Likely related unresolved report: “Cursor Editor Window Opens But UI Not Rendering on Manjaro Linux” (forum topic 150400) — same symptoms, same dead ends, VS Code fine on the same machine; that user cancelled. Worth checking whether they run an Electron app in a container.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor
