mherrmann / mherrmann/fman

1.7.5 crashes on Ubuntu 26.04 on first keystroke

Open
#919 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
275
Forks
16
PR merge metrics
No merged PRs in 30d

Description

Preamble

After a fresh install, fman constantly crashes without any warning after trying to navigate with keys.
I found a workaround with a liitle help of an AI-friend and asked to write it up. Find it below and forgive the bloomy language.
Short answer: after putting LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 fman in the .desktop file and an alias in .bashrc it conveniently starts and works again as expected.

Title:

Instant crash on keystroke (Segmentation fault in libxkbcommon.so.0) on Ubuntu 26.04 / GNOME 50

Description

When running fman on a modern Linux environment (specifically Ubuntu 26.04 running GNOME 50), the application starts up normally and mouse interaction works fine. However, pressing any key on the keyboard results in an immediate crash (Segmentation Fault) with no output in the standard terminal logs.

Steps to Reproduce
  1. Launch fman.
  2. Interact with the application using the mouse (optional, works fine).
  3. Press any key on the keyboard.
  4. The application crashes immediately.
Technical Analysis & Logs

Because the crash happens at the native C++ level during key mapping, Python is unable to catch or log the error. Looking at the kernel ring buffer (dmesg), the crash is traced back to a memory alignment/ABI mismatch inside libxkbcommon:

fman: segfault at 10000000d20 ip 000076725c3abc05 sp 00007fff10c4be38 error 4 in libxkbcommon.so.0[1dc05,76725c392000+1f000]

This indicates that fman's bundled legacy Qt5/X11 dependencies are conflicting with modern system keyboard handling libraries under XWayland/GNOME 50.

Working Workaround

Preloading the host system's libxkbcommon.so.0 instead of letting the application fall back to its internal or mismatched library structures bypasses the segfault completely and restores full keyboard functionality:

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 fman
Environment & Context
  • OS: Ubuntu 26.04 LTS
  • Desktop Environment: GNOME 50 (Wayland session using XWayland)
  • Architecture: x86-64
  • fman Version: Stable (Linux x86_64)
  • System CPU: 16-Core / 32-Thread Processor (showing crashes on CPU cores 4, 8, and 15)
  • Kernel: Linux 6.x (with AppArmor and standard Ubuntu security modules active)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the first-keystroke crash on Ubuntu 26.04 with GNOME 50 and compare normal startup with the documented LD_PRELOAD workaround. Start by examining the bundled legacy Qt5/X11 dependencies and their interaction with libxkbcommon; done means keyboard input works without requiring the workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, python
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.