← Back to issue list

XKB_CONFIG_ROOT pointing to non-existent directory in kde-neon-6/kde-neon-qt6

View original Github issue

Metadata

Project
snapcraft
Number
#6017
Type
issue
State
open
Author
RealLucioCarreras
Labels
Created
Updated
Closed

Current evaluation

kde-neon-qt6 extension sets XKB_CONFIG_ROOT to $SNAP/qt6/usr/share/X11/xkb which does not exist in the kde-qt6-core24 content snap, causing xkbcommon errors and segfaults. No maintainer response in 207 days.

Suggested action: needs triage

Reason: Well-written bug report with strace evidence and a working workaround, but zero labels, zero comments, and no maintainer interaction in 207 days. The code at extensions/desktop/common/desktop-exports:78 unconditionally exports XKB_CONFIG_ROOT to a path the content snap does not ship, and no recent commit addresses this.

Impact: 55 Quick Win: 35.75 Staleness: 55 Complexity: 35 Confidence: 78 Support Request: 10

Issue body

### Check existing issues - [x] I've verified that this bug isn't described by any existing issues. ### Bug description Hello, I currently try to build my snap using `core24` and the `kde-neon-qt6` extension. When executing the snap, I run into an issue ``` xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb Segmentation fault (core dumped) ``` `strace` shows that `xkb` looks inside `$SNAP/qt6/usr/share/X11/xkb` (i.e. `XKB_CONFIG_ROOT`) ``` newfstatat(AT_FDCWD, "/snap/sayonara/x1/qt6/usr/share/X11/xkb", 0x7fff69791470, 0) = -1 ENOENT (No such file or directory) ``` Running `snap run –shell sayonara`, and checking the environment, I get this: ``` $ env | grep XKB QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb XKB_CONFIG_ROOT=/snap/sayonara/x1/qt6/usr/share/X11/xkb ``` But `XKB_CONFIG_ROOT` does not exist in `kf6-core24`/`kde-qt6-core24` [1], [2] ``` $ ls -l $SNAP/qt6/usr/share/X11 total 42 -rw-r--r-- 1 root root 42077 Apr 8 2024 XErrorDB drwxr-xr-x 64 root root 1174 Sep 16 06:51 locale lrwxrwxrwx 1 root root 24 Sep 15 05:00 rgb.txt -> ../../../etc/X11/rgb.txt ``` Similar with `QT_XKB_CONFIG_ROOT` `/usr/share/X11` does not exist even ``` $ ls -l /usr/share/X11/xkb ls: cannot access '/usr/share/X11/xkb': No such file or directory ``` My current workaround is to stage `xkb-data` and launch my app with a custom launcher prepending `XKB_CONFIG_ROOT=$SNAP/usr/share/X11/xkb` I also created a disussion in the snapcraft forum [3]. * [1] https://github.com/canonical/snapcraft/blob/caee85ad9d7d81457a5cc9dcd0b2a141a4e0ecd9/snapcraft/extensions/kde_neon_qt6.py#L210 * [2] https://github.com/canonical/snapcraft/blob/caee85ad9d7d81457a5cc9dcd0b2a141a4e0ecd9/extensions/desktop/common/desktop-exports#L78 * [3] https://forum.snapcraft.io/t/xkbcommon-error-failed-to-add-default-include-path-usr-share-x11-xkb/50273 ### Steps to reproduce * Create a snap using `kde-qt6-core24-sdk` and the `kde-neon-qt6` extension. * Execute it ### Environment Building in destructive mode, Ubuntu 24.04. ### snapcraft.yaml ```yaml name: sayonara adopt-info: sayonara grade: stable confinement: strict base: core24 compression: lzo apps: sayonara: command: usr/bin/sayonara common-id: com.sayonara-player.Sayonara desktop: usr/share/applications/com.sayonara-player.Sayonara.desktop extensions: - kde-neon-qt6 plugs: - audio-playback - desktop - desktop-legacy - home - network - network-bind - network-manager-observe - opengl - optical-drive - removable-media - unity7 - wayland - x11 slots: - mpris # no effect, is overwritten by launch6 anyway # environment: # XKB_CONFIG_ROOT: $SNAP/usr/share/X11/xkb # QT_XKB_CONFIG_ROOT: $SNAP/usr/share/X11/xkb layout: /usr/share/sayonara: bind: $SNAP/usr/share/sayonara parts: sayonara: source-type: local source: . parse-info: [ usr/share/metainfo/com.sayonara-player.Sayonara.appdata.xml ] plugin: cmake cmake-parameters: - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - -DCMAKE_INSTALL_PREFIX=/usr - -DDISABLE_NATIVE_DIR_DIALOGS=1 - -DGIT_REVISION=abcabc123 build-snaps: - kde-qt6-core24-sdk build-packages: - ccache - pkgconf - cmake - g++ - libgstreamer-plugins-bad1.0-dev - libgstreamer-plugins-base1.0-dev - libgstreamer-plugins-good1.0-dev - libgstreamer1.0-dev - libtag1-dev stage-packages: - libtag1v5-vanilla - gstreamer1.0-plugins-base - gstreamer1.0-plugins-good - gstreamer1.0-plugins-bad - gstreamer1.0-plugins-ugly - xkb-data - strace after: [ cleanup ] cleanup: plugin: nil build-snaps: - gtk-common-themes ``` ### Log output ```shell xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb Segmentation fault (core dumped) newfstatat(AT_FDCWD, "/home/luke/snap/sayonara/x1/.config/xkb", 0x7fff69791470, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/home/luke/snap/sayonara/x1/.xkb", 0x7fff69791470, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/etc/xkb", 0x7fff69791470, 0) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/snap/sayonara/x1/qt6/usr/share/X11/xkb", 0x7fff69791470, 0) = -1 ENOENT (No such file or directory) $ env | grep XKB QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb XKB_CONFIG_ROOT=/snap/sayonara/x1/qt6/usr/share/X11/xkb $ snap connections sayonara Interface Plug Slot Notes audio-playback sayonara:audio-playback :audio-playback - content[gpu-2404] sayonara:gpu-2404 mesa-2404:gpu-2404 - content[gtk-2-themes] sayonara:gtk-2-themes gtk-common-themes:gtk-2-themes - content[gtk-3-themes] sayonara:gtk-3-themes gtk-common-themes:gtk-3-themes - content[icon-themes] sayonara:icon-themes gtk-common-themes:icon-themes - content[kde-qt6-core24-all] sayonara:kde-qt6-core24 kde-qt6-core24:kde-qt6-core24 manual content[sound-themes] sayonara:sound-themes gtk-common-themes:sound-themes - desktop sayonara:desktop :desktop - desktop-legacy sayonara:desktop-legacy :desktop-legacy - home sayonara:home :home - mpris - sayonara:mpris - network sayonara:network :network - network-bind sayonara:network-bind :network-bind - network-manager-observe sayonara:network-manager-observe - - opengl sayonara:opengl :opengl - optical-drive sayonara:optical-drive :optical-drive - removable-media sayonara:removable-media - - unity7 sayonara:unity7 :unity7 - wayland sayonara:wayland :wayland - x11 sayonara:x11 :x11 - ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 55
Quick Win: 35.75
Staleness: 55
Complexity: 35
Confidence: 78
Support Request: 10
needs triage kde-neon-qt6 extension sets XKB_CONFIG_ROOT to $SNAP/qt6/usr/share/X11/xkb which does not exist in the kde-qt6-core24 content snap, causing xkbcommon errors and segfaults. No maintainer response in 207 days.
qwen/qwen3.6-35b-a3b
Staleness: 70
Complexity: 45
Confidence: 90
Support Request: 10
needs triage Bug report regarding kde-neon-qt6 extension incorrectly setting XKB_CONFIG_ROOT to a non-existent path, causing xkbcommon to fail. Untriaged with no maintainer comments after 5.5 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 35
Confidence: 85
Support Request: 10
needs triage Bug report regarding kde-neon-qt6 extension setting XKB_CONFIG_ROOT to a non-existent path, causing xkbcommon to fail. Unlabelled and inactive for 152 days.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 40
Confidence: 85
Support Request: 5
needs triage kde-neon-qt6 extension sets XKB_CONFIG_ROOT to a non-existent path, triggering xkbcommon crashes in core24 snaps. The extension omits required xkb-data files. Open, unassigned, inactive for 131 days, awaiting triage and fix.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.