Bug 512913 - System Settings - Game Controller Page Crashes
Summary: System Settings - Game Controller Page Crashes
Status: RESOLVED NOT A BUG
Alias: None
Product: systemsettings
Classification: Applications
Component: generic-crash (other bugs)
Version First Reported In: 6.5.3
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2025-12-03 18:34 UTC by polar.exelion
Modified: 2025-12-12 03:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/314936/events/7a817917d6af4315ac8613fabd74ff62/


Attachments
New crash information added by DrKonqi (68.74 KB, text/plain)
2025-12-03 18:34 UTC, polar.exelion
Details

Note You need to log in before you can comment on or make changes to this bug.
Description polar.exelion 2025-12-03 18:34:01 UTC
Application: systemsettings (6.5.3)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.20.0
Operating System: Linux 6.17.9-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.5.3 [CoredumpBackend]

-- Information about the crash:
When attempting to access the Game Controller's page on the System Settings app, it will crash every time. This has persisted through a computer restart. The unusual behaviour began mid-game when using a SNES controller plugged into a TOMEE SNES adapter. Up and down on the dpad, as well as various buttons, have since stopped working. The only thing plugged in at the time of generating this report is an XBOX 360 controller. The game in question was Windswept with update v1.0.8 called "Native Controller Support (and that's it)". That's all that's different pre and post crashing.

I understand this could be a technical issue with my setup, but searching for answers has not revealed anything.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#6  0x00007fc3d10989d3 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
#7  0x00007fc3d103e3a0 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007fc3d102557a in __GI_abort () at abort.c:77
[...]
#10 0x00007fc3d494a2a7 in call_init (l=<optimized out>, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:74
#11 call_init (l=<optimized out>, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:26
#12 0x00007fc3d494a37d in _dl_init (main_map=0x5637c9a09d60, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:121
#13 0x00007fc3d49464f5 in __GI__dl_catch_exception (exception=exception@entry=0x0, operate=operate@entry=0x7fc3d4951340 <call_dl_init>, args=args@entry=0x7fffbbcbc870) at dl-catch.c:215
#14 0x00007fc3d49512a9 in dl_open_worker (a=a@entry=0x7fffbbcbc870) at dl-open.c:799
#15 0x00007fc3d4946456 in __GI__dl_catch_exception (exception=exception@entry=0x7fffbbcbc8c0, operate=operate@entry=0x7fc3d49511e0 <dl_open_worker>, args=args@entry=0x7fffbbcbc870) at dl-catch.c:241
#16 0x00007fc3d495175a in _dl_open (file=0x5637c9a38c60 "/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_gamecontroller.so", mode=<optimized out>, caller_dlopen=0x7fc3d1c4da39 <QLibraryPrivate::load()+1833>, nsid=-2, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-open.c:900
#17 0x00007fc3d1092cc4 in dlopen_doit (a=a@entry=0x7fffbbcbcb80) at dlopen.c:56
#18 0x00007fc3d4946456 in __GI__dl_catch_exception (exception=exception@entry=0x7fffbbcbcac0, operate=0x7fc3d1092c60 <dlopen_doit>, args=0x7fffbbcbcb80) at dl-catch.c:241
#19 0x00007fc3d49465a9 in _dl_catch_error (objname=0x7fffbbcbcb28, errstring=0x7fffbbcbcb30, mallocedp=0x7fffbbcbcb27, operate=<optimized out>, args=<optimized out>) at dl-catch.c:260
#20 0x00007fc3d10927b3 in _dlerror_run (operate=operate@entry=0x7fc3d1092c60 <dlopen_doit>, args=args@entry=0x7fffbbcbcb80) at dlerror.c:138
#21 0x00007fc3d1092d7b in dlopen_implementation (file=<optimized out>, mode=<optimized out>, dl_caller=<optimized out>) at dlopen.c:71
#5  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#6  0x00007fc3d10989d3 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
#7  0x00007fc3d103e3a0 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007fc3d102557a in __GI_abort () at abort.c:77
[...]
#10 0x00007fc3d494a2a7 in call_init (l=<optimized out>, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:74
#11 call_init (l=<optimized out>, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:26
#12 0x00007fc3d494a37d in _dl_init (main_map=0x5637c9a09d60, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-init.c:121
#13 0x00007fc3d49464f5 in __GI__dl_catch_exception (exception=exception@entry=0x0, operate=operate@entry=0x7fc3d4951340 <call_dl_init>, args=args@entry=0x7fffbbcbc870) at dl-catch.c:215
#14 0x00007fc3d49512a9 in dl_open_worker (a=a@entry=0x7fffbbcbc870) at dl-open.c:799
#15 0x00007fc3d4946456 in __GI__dl_catch_exception (exception=exception@entry=0x7fffbbcbc8c0, operate=operate@entry=0x7fc3d49511e0 <dl_open_worker>, args=args@entry=0x7fffbbcbc870) at dl-catch.c:241
#16 0x00007fc3d495175a in _dl_open (file=0x5637c9a38c60 "/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_gamecontroller.so", mode=<optimized out>, caller_dlopen=0x7fc3d1c4da39 <QLibraryPrivate::load()+1833>, nsid=-2, argc=1, argv=0x7fffbbcc2328, env=0x7fffbbcc2338) at dl-open.c:900
#17 0x00007fc3d1092cc4 in dlopen_doit (a=a@entry=0x7fffbbcbcb80) at dlopen.c:56
#18 0x00007fc3d4946456 in __GI__dl_catch_exception (exception=exception@entry=0x7fffbbcbcac0, operate=0x7fc3d1092c60 <dlopen_doit>, args=0x7fffbbcbcb80) at dl-catch.c:241
#19 0x00007fc3d49465a9 in _dl_catch_error (objname=0x7fffbbcbcb28, errstring=0x7fffbbcbcb30, mallocedp=0x7fffbbcbcb27, operate=<optimized out>, args=<optimized out>) at dl-catch.c:260
#20 0x00007fc3d10927b3 in _dlerror_run (operate=operate@entry=0x7fc3d1092c60 <dlopen_doit>, args=args@entry=0x7fffbbcbcb80) at dlerror.c:138
#21 0x00007fc3d1092d7b in dlopen_implementation (file=<optimized out>, mode=<optimized out>, dl_caller=<optimized out>) at dlopen.c:71


Reported using DrKonqi
Comment 1 polar.exelion 2025-12-03 18:34:02 UTC
Created attachment 187324 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 David Edmundson 2025-12-04 17:17:57 UTC
A crash in dl_open means ABI issues. 
Can you check everything is up to date?
Comment 3 polar.exelion 2025-12-04 17:55:37 UTC
I ran pacman this morning and saw only a few updates, but nothing KDE related. I believe I updated just after the issue started and last night as well. Discover is also up to date.

As a side note, I broke the updating of fluidsynth, freerdp, sdl3_ttf, and sdl2-compat. I manually changed a .desktop file to point at a more up to date SDL3 3.3 built from source instead of pacman's SDL3 3.2.26-1. I believed it to be unrelated because I don't think they were required dependencies for system settings, but I had to include this anyway just in case.
Comment 4 polar.exelion 2025-12-06 06:07:30 UTC
I've again updated everything via pacman and Discover. It still crashes, even after making sure to restart the computer multiple times.

I tried creating a new user account and testing out the GC page and it still crashed. I also tried looking for a config file to possibly backup and modify/delete, but I couldn't locate one related to the GC page. Is there a file I can change or some kind of package to remove and/or reinstall as a test?

And because this is related to controllers, I'll also report on their behaviour. I've successfully used my XBOX 360 controller and with adapters, an original PS1 analog controller (no sticks), GameCube controllers, and SEGA Genesis controllers. The only one with semi-problems appears to be the TOMEE adapter with SNES controllers. Both of my SNES controllers work flawlessly on my previous Windows computer.

I should communicate clearly that this wasn't the case until I was 20 hours into Windswept on Steam (post v1.0.8 update) that this improper controller behaviour began mid-game. It's like the SNES d-pad is now treated as having an axis for left and right, but only buttons for up and down. It used to be 2 axis for the d-pad. After it started doing this, I had discovered that the Game Controller page crashes every time. Also, Steam's controller testing input page reports that all 4 directions on the d-pad do register.

I hope this extra bit helps with identifying this. Just ask if you need more info, I'll do my best to find and give it.

*HDE Controller Adapter for PS2 Controller on PS3 Console, PC Converter Cable for Dual Shock 2 PS2 Wired Controllers
Comment 5 polar.exelion 2025-12-12 03:04:39 UTC
Alright, fixed it. It was either because I updated some things just now and/or because I fixed my SDL3 issue that I had caused myself, and I'm not sure which it was.

To recap the things I had messed with, I had installed SDL3 3.2 via pacman for game development. Automatically, sdl3.pc was created in /usr/lib/pkgconfig/, I believe. Then, in order to get the SDL3 Mixer working, I needed SDL3 3.3, which I could not find under core/extra/multilib or the AUR. Foolishly, without un-installing SDL3 3.2 from pacman, I overwrote sdl3.pc after building SDL3 3.3 from github to point to my chosen SDL3 3.3 location. This prevented me from using pacman at all because of dependency issues, which I then did a quick hack-fix by adding sdl3 to IgnorePkg in /etc/pacman.conf. This prevented me from updating the following packages:
fluidsynth  freerdp  sdl2-compat

Well, I just undid the whole mess by deleting sdl3.pc, removing the package from IgnorePkg, and ran pacman -Syu which re-created the sdl3.pc file pointing to pacman's SDL3 3.2.28-1. With no dependency issues, the 3 previous packages updated, along with whatever else had been waiting. I've been updating via pacman frequently since this game controller thing began. For transparency, I've updated the following just now:
ca-certificates-mozilla-3.119.1-1  fluidsynth-2.5.1-1  freerdp-2:3.17.2-6  lib32-libgpg-error-1.57-1  lib32-nss-3.119.1-1  libdrm-2.4.130-1  libgpg-error-1.57-1  nss-3.119.1-1  python-urllib3-2.6.2-1  qtcreator-18.0.1-1  sdl2-compat-2.32.60-1  sdl3-3.2.28-1  sdl3_ttf-3.2.2-1

Although I updated everything under Discover, I did not keep a note of what I updated.


The "bug" is fixed however! Not only does the Game Controller page work, but even my SNES adapter works as intended again. I think I can mark this as RESOLVED and NOT A BUG myself? Thanks to David for making me re-think my shoddy hack garbage. The lesson is not to mess with pacman's packages, and un-install something from pacman first if I plan on messing with more built-from-source libraries and programs.