[Steam Frame] xdg-desktop-portal-holo segfaults on Settings.ReadOne for a missing key
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- linux, shell
- Lĩnh vực
- operating-systems
Hướng nghiên cứu
Start by running the provided gdbus reproduction in the Steam Frame gamescope session and confirm that xdg-desktop-portal-holo exits with SIGSEGV. Trace the org.freedesktop.portal.Settings.ReadOne handling in the xdg-desktop-portal-holo backend to find where a missing key or namespace causes the crash. Done means the backend remains alive and returns org.freedesktop.portal.Error.NotFound or an empty result, with a regression test covering the missing-key case.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Your system information
- Device: Steam Frame
- SteamOS: 0.4.5 (variant
vr, build 20261022.6150929) - SteamVR: 2.18.2
- Packages:
xdg-desktop-portal-holo 0.1.14.bb73298-2,xdg-desktop-portal 1.18.4-1 - Session: gamescope-session (
XDG_CURRENT_DESKTOP=gamescope)
Please describe your issue in as much detail as possible:
xdg-desktop-portal-holo crashes with SIGSEGV whenever a client asks the Settings portal for a key that does not exist
via org.freedesktop.portal.Settings.ReadOne. Instead of returning org.freedesktop.portal.Error.NotFound, the backend
process dies (systemd restarts it on the next request).
In practice this is hit by every Qt app that runs as a Flatpak from the Steam session: the gamescope session exports
QT_QPA_PLATFORMTHEME=kde, so Qt loads the KDE Plasma platform theme, which (inside Flatpak) reads kdeglobals keys
through the Settings portal. On our headset the backend crashed 37 times in two days, once every time our app opened its
window (coredumpctl shows /usr/lib/xdg-desktop-portal-holo SIGSEGV, minidumps are in
/var/lib/steamos-log-submitter/pending/minidump/).
ReadOne for an existing key, the deprecated Read, and ReadAll (including a namespace that matches nothing) all work.
Steps for reproducing this issue:
- On a Steam Frame, open a shell in the gamescope session (SSH as the default user is enough).
- Note the current crash count:
coredumpctl list --no-pager | grep -c xdg-desktop-portal-holo - Ask the portal for a key that does not exist:
The call returnsgdbus call --session --dest org.freedesktop.portal.Desktop \ --object-path /org/freedesktop/portal/desktop \ --method org.freedesktop.portal.Settings.ReadOne org.kde.kdeglobals.General ColorSchemeGDBus.Error:org.freedesktop.portal.Error.NotFound: Requested setting not found(generated by the
frontend after the backend went away). - Count again: the number went up by one.
journalctl --user -u xdg-desktop-portal-holoshows
Main process exited, code=dumped, status=11/SEGV.
For comparison, these do not crash:
... --method org.freedesktop.portal.Settings.ReadOne org.freedesktop.appearance color-scheme
... --method org.freedesktop.portal.Settings.Read org.freedesktop.appearance color-scheme
... --method org.freedesktop.portal.Settings.ReadAll '["org.kde.kdeglobals.*"]'
Expected: the backend returns NotFound (or an empty result) for unknown namespaces/keys and keeps running.
Workaround we ship: inside Flatpak we override QT_QPA_PLATFORMTHEME=kde with xdgdesktopportal before
QGuiApplication is created, so Qt only reads org.freedesktop.appearance.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 2.7k
- Fork
- 89
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ValveSoftware/SteamOS
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
ValveSoftware/SteamOS#3037 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
ValveSoftware/SteamOS#2983 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ValveSoftware/SteamOS#2927 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ValveSoftware/SteamOS#2875 · 1 bình luận ·
-
steam-short-session-tracker: incorrect registry backup path resets settings during automatic repairĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
ValveSoftware/SteamOS#2829 ·
Tất cả issue của ValveSoftware/SteamOS
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
extension-modules type-bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
start-cosmic prints "Environment variable $SSH_AUTH_SOCK not set, ignoring." on tty1 during loginĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
pop-os/cosmic-session#242 · 3 bình luận ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
CosmosOS/Cosmos#3410 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày