Bug 458793 - Tablet settings crashes in QtWayland::zwp_tablet_pad_v2::handle_removed when adding/removing tablet
Summary: Tablet settings crashes in QtWayland::zwp_tablet_pad_v2::handle_removed when ...
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (other bugs)
Version First Reported In: master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-06 15:33 UTC by Nicolas Fella
Modified: 2022-09-13 14:55 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.26
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Fella 2022-09-06 15:33:29 UTC
STEPS TO REPRODUCE
1. Connect a graphics tablet
2. Open Tablet KCM in systemsettings
3. Open another KCM
4. Open tablet settings again
5. Unplug tablet

OBSERVED RESULT

#0  0x00007fffa7527a9a in QtWayland::zwp_tablet_pad_v2::handle_removed (data=0x1b4dfd0, object=0x7fffdc005500) at /home/nico/kde/build/plasma-desktop/kcms/tablet/qwayland-tablet-unstable-v2.cpp:1293
#1  0x00007ffff22a6746 in ffi_call_unix64 () at ../src/x86/unix64.S:105
#2  0x00007ffff22a34d2 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
#3  0x00007ffff4a80e03 in wl_closure_invoke (closure=closure@entry=0x7fffd400a8d0, target=<optimized out>, target@entry=0x7fffdc005500, opcode=opcode@entry=7, data=<optimized out>, flags=1)
    at ../src/connection.c:1025
#4  0x00007ffff4a81573 in dispatch_event (display=display@entry=0x451890, queue=0x451960) at ../src/wayland-client.c:1583
#5  0x00007ffff4a8173c in dispatch_queue (queue=0x451960, display=0x451890) at ../src/wayland-client.c:1729
#6  wl_display_dispatch_queue_pending (display=0x451890, queue=0x451960) at ../src/wayland-client.c:1971
#7  0x00007ffff4b00ca2 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at qwaylanddisplay.cpp:253
#8  0x00007ffff5feb494 in doActivate<false> (sender=0x471590, signal_index=4, argv=0x7fffffffd3f0) at kernel/qobject.cpp:3898
#9  0x00007ffff5fe4b9f in QMetaObject::activate (sender=sender@entry=0x471590, m=m@entry=0x7ffff628b800 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, 
    argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#10 0x00007ffff5fb3303 in QAbstractEventDispatcher::awake (this=this@entry=0x471590) at .moc/moc_qabstracteventdispatcher.cpp:149
#11 0x00007ffff600a4d5 in QEventDispatcherGlib::processEvents (this=0x471590, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#12 0x00007ffff5fb503b in QEventLoop::exec (this=this@entry=0x7fffffffd520, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#13 0x00007ffff5fbcb42 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#14 0x00007ffff6585a0c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#15 0x00007ffff6e0c2f5 in QApplication::exec () at kernel/qapplication.cpp:2829
#16 0x000000000040dc72 in main (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/systemsettings/app/main.cpp:183

SOFTWARE/OS VERSIONS
KDE Plasma Version: master
KDE Frameworks Version: master
Qt Version: 5.15.5-kde
Comment 1 Nicolas Fella 2022-09-06 15:36:37 UTC
Similar crash when plugging a tablet in while the KCM was opened for the second time

#0  0x00007fffc467683a in QtWayland::zwp_tablet_seat_v2::handle_tablet_added (data=0x12eb0c0, object=0x12eb030, id=0x7fffdc006900)
    at /home/nico/kde/build/plasma-desktop/kcms/tablet/qwayland-tablet-unstable-v2.cpp:148
#1  0x00007ffff22a6746 in ffi_call_unix64 () at ../src/x86/unix64.S:105
#2  0x00007ffff22a34d2 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672
#3  0x00007ffff4a80e03 in wl_closure_invoke (closure=closure@entry=0x7fffdc006810, target=<optimized out>, target@entry=0x12eb030, opcode=opcode@entry=0, data=<optimized out>, flags=1)
    at ../src/connection.c:1025
#4  0x00007ffff4a81573 in dispatch_event (display=display@entry=0x451890, queue=0x451960) at ../src/wayland-client.c:1583
#5  0x00007ffff4a8173c in dispatch_queue (queue=0x451960, display=0x451890) at ../src/wayland-client.c:1729
#6  wl_display_dispatch_queue_pending (display=0x451890, queue=0x451960) at ../src/wayland-client.c:1971
#7  0x00007ffff4b00ca2 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at qwaylanddisplay.cpp:253
#8  0x00007ffff5feb494 in doActivate<false> (sender=0x471430, signal_index=4, argv=0x7fffffffd3f0) at kernel/qobject.cpp:3898
#9  0x00007ffff5fe4b9f in QMetaObject::activate (sender=sender@entry=0x471430, m=m@entry=0x7ffff628b800 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, 
    argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#10 0x00007ffff5fb3303 in QAbstractEventDispatcher::awake (this=this@entry=0x471430) at .moc/moc_qabstracteventdispatcher.cpp:149
#11 0x00007ffff600a4d5 in QEventDispatcherGlib::processEvents (this=0x471430, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#12 0x00007ffff5fb503b in QEventLoop::exec (this=this@entry=0x7fffffffd520, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#13 0x00007ffff5fbcb42 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#14 0x00007ffff6585a0c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#15 0x00007ffff6e0c2f5 in QApplication::exec () at kernel/qapplication.cpp:2829
#16 0x000000000040dc72 in main (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/systemsettings/app/main.cpp:183
Comment 2 Bug Janitor Service 2022-09-13 00:53:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2932
Comment 3 Bug Janitor Service 2022-09-13 00:54:37 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1142
Comment 4 Vlad Zahorodnii 2022-09-13 07:18:40 UTC
Git commit d268ac449efd81cb42f8f6dd00a399d8f5949903 by Vlad Zahorodnii, on behalf of Aleix Pol.
Committed on 13/09/2022 at 06:41.
Pushed by vladz into branch 'master'.

tablet: destroy resources when they are asked to

M  +5    -0    src/wayland/tablet_v2_interface.cpp

https://invent.kde.org/plasma/kwin/commit/d268ac449efd81cb42f8f6dd00a399d8f5949903
Comment 5 Aleix Pol 2022-09-13 12:18:39 UTC
Git commit 824af4ff2906f455c4b795ea2e5e5ad7633da33a by Aleix Pol Gonzalez, on behalf of Aleix Pol.
Committed on 13/09/2022 at 12:15.
Pushed by apol into branch 'master'.

tablet: call destroy on the destructor

Somehow it isn't automatically generated in.

M  +20   -0    kcms/tablet/tabletevents.cpp

https://invent.kde.org/plasma/plasma-desktop/commit/824af4ff2906f455c4b795ea2e5e5ad7633da33a