https://bugs.kde.org/show_bug.cgi?id=514290
Bug ID: 514290
Summary: System Settings crashes in getJoystickHidInfo when
plugging in a wired Nintendo Switch controller
Classification: Applications
Product: systemsettings
Version First 6.5.80
Reported In:
Platform: KDE Linux
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: kcm_joystick
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected], [email protected]
Target Milestone: ---
STEPS TO REPRODUCE
1. Open System Settings > Game Controller
2. Plug in a Nintendo Switch wired controller
OBSERVED RESULT
System Settings crashes 100% of the time:
#0 __pthread_kill_implementation
(threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at
pthread_kill.c:44
#1 0x00007efd472459d3 in __pthread_kill_internal (threadid=<optimized out>,
signo=11)
at pthread_kill.c:89
#2 0x00007efd471eb3a0 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3 0x00007efd492c5e50 in KCrash::defaultCrashHandler (sig=11)
at /usr/src/debug/kde-banana-kcrash-git/kcrash/src/kcrash.cpp:605
#4 0x00007efd471eb4d0 in <signal handler called> () at /usr/lib/libc.so.6
#5 __wcslen_evex () at ../sysdeps/x86_64/multiarch/strlen-evex-base.S:81
#6 0x00007efd1871bf4a in SDL_wcslen_REAL (string=0x0)
at /usr/src/debug/sdl3/SDL3-3.2.28/src/stdlib/SDL_string.c:751
#7 SDL_wcsdup_REAL (string=0x0) at
/usr/src/debug/sdl3/SDL3-3.2.28/src/stdlib/SDL_string.c:805
#8 0x00007efd1891bbcb in SDL_hid_enumerate_REAL
(vendor_id=<optimized out>, product_id=<optimized out>)
at /usr/src/debug/sdl2-compat/sdl2-compat-2.32.60/src/sdl2_compat.c:11958
#9 0x00007efd38054f47 in getJoystickHidInfo
(vendor=vendor@entry=8406, product=product@entry=-22767,
path="/dev/hidraw0")
at /home/nate/kde/src/plasma-desktop/kcms/gamecontroller/device.cpp:90
#10 0x00007efd38056971 in Device::open (this=this@entry=0x5623e61f1600)
at /usr/include/c++/15.2.1/bits/basic_string.tcc:248
#11 0x00007efd380510c8 in DeviceModel::addDevice
(this=this@entry=0x5623e3a0d400, deviceIndex=0)
at
/home/nate/kde/src/plasma-desktop/kcms/gamecontroller/devicemodel.cpp:132
#12 0x00007efd38052eac in DeviceModel::poll (this=0x5623e3a0d400)
at /home/nate/kde/src/plasma-desktop/kcms/gamecontroller/devicemodel.cpp:93
#13 0x00007efd4793834f in QtPrivate::QSlotObjectBase::call
(this=0x5623e3a6e130, r=0x5623e3a0d400, a=0x7ffc9eef3290, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461
#14 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>,
argv=<optimized out>)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4257
#15 0x00007efd4793fe5c in QMetaObject::activate<void, QTimer::QPrivateSignal>
(sender=<optimized out>, mo=<optimized out>, local_signal_index=0, ret=0x0)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs.h:319
#16 QTimer::timeout (this=<optimized out>, _t1=...)
at
/usr/src/debug/qt6-base/build/src/corelib/Core_autogen/include/moc_qtimer.cpp:182
#17 QTimer::timerEvent (e=<optimized out>, this=<optimized out>)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:331
#18 QTimer::timerEvent (this=<optimized out>, e=<optimized out>)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimer.cpp:325
#19 0x00007efd47925936 in QObject::event (this=<optimized out>, e=<optimized
out>)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1388
#20 0x00007efd488861c0 in QApplicationPrivate::notify_helper
(this=<optimized out>, receiver=0x5623e3d904a0, e=0x7ffc9eef3430)
at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3305
#21 0x00007efd478cb958 in QCoreApplication::notifyInternal2
(receiver=0x5623e3d904a0, event=0x7ffc9eef3430)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109
#22 0x00007efd47a8d9af in QCoreApplication::sendEvent
(receiver=<optimized out>, event=0x7ffc9eef3430)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549
#23 QTimerInfoList::activateTimers (this=<optimized out>)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426
#24 0x00007efd47babdd1 in timerSourceDispatch (source=<optimized out>)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:152
#25 idleTimerSourceDispatch (source=<optimized out>)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:199
#26 0x00007efd4669ef8d in g_main_dispatch (context=0x7efd3c000f60) at
../glib/glib/gmain.c:3565
#27 0x00007efd466a0657 in g_main_context_dispatch_unlocked
(context=0x7efd3c000f60)
at ../glib/glib/gmain.c:4425
#28 g_main_context_iterate_unlocked
(context=context@entry=0x7efd3c000f60, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4490
#29 0x00007efd466a0865 in g_main_context_iteration (context=0x7efd3c000f60,
may_block=1)
at ../glib/glib/gmain.c:4556
#30 0x00007efd47ba9152 in QEventDispatcherGlib::processEvents
(this=0x5623e3612b40, flags=...)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#31 0x00007efd478d6786 in QEventLoop::processEvents (this=0x7ffc9eef3700,
flags=...)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#32 QEventLoop::exec (this=0x7ffc9eef3700, flags=...)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#33 0x00007efd478d03f1 in QCoreApplication::exec ()
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1452
#34 0x00007efd4888132a in QApplication::exec ()
at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2575
#35 0x00005623a9c444a0 in main (argc=<optimized out>, argv=<optimized out>)
at
/usr/src/debug/kde-banana-systemsettings-git/systemsettings/app/main.cpp:175
Information about the device itself, from `sudo lsusb --verbose`:
Bus 001 Device 008: ID 20d6:a711 Core (Plus) Wired Controller
Negotiated speed: Full Speed (12Mbps)
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 [unknown]
bDeviceSubClass 0 [unknown]
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x20d6
idProduct 0xa711 Core (Plus) Wired Controller
bcdDevice 5.13
iManufacturer 0
iProduct 2 Core (Plus) Wired Controller
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0029
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 [unknown]
bInterfaceProtocol 0
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.11
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 94
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
SOFTWARE/OS VERSIONS
Operating System: KDE Linux 2026-01-06
KDE Plasma Version: 6.5.80
KDE Frameworks Version: 6.23.0
Qt Version: 6.10.1
Kernel Version: 6.18.3-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840U w/ Radeon™ 780M Graphics
Memory: 17 GB of RAM (16.0 GB usable)
Graphics Processor: AMD Radeon 780M Graphics
--
You are receiving this mail because:
You are watching all bug changes.