Bug 496924

Summary: Unpluging drawing tablet causes Plasma to crash in QtWayland::zwp_tablet_pad_v2::handle_removed()
Product: [Plasma] plasmashell Reporter: Reza Jahanbakhshi <reza.jahanbakhshi>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde
Priority: NOR Keywords: drkonqi
Version: 6.2.4   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Reza Jahanbakhshi 2024-12-02 10:11:39 UTC
Application: konsole (24.08.3)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.0
Frameworks Version: 6.8.0
Operating System: Linux 6.12.1-arch1-1 x86_64
Windowing System: Wayland
Distribution: Arch Linux
DrKonqi: 6.2.4 [CoredumpBackend]

-- Information about the crash:
Unpluging drawing tablet causes Plasma to crash in QtWayland::zwp_tablet_pad_v2::handle_removed()
Almost all KDE UI processes crash when I unplug the drawing tablet.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Konsole (konsole), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
Downloading 1.16 M separate debug info for /usr/bin/konsole...

warning: Can't open file anon_inode:i915.gem which was expanded to anon_inode:i915.gem during file-backed mapping note processing

warning: Can't open file /memfd:wayland-shm (deleted) during file-backed mapping note processing
[New LWP 22616]
[New LWP 22618]
[New LWP 22617]
[New LWP 22619]
[New LWP 22621]
[New LWP 22620]
Downloading 8.29 M separate debug info for /usr/lib/libkonsoleapp.so.24.08.3...
Downloading 49.27 M separate debug info for /usr/lib/libkonsoleprivate.so.24.08.3...
Downloading 2.59 M separate debug info for /usr/lib/libKF6NotifyConfig.so.6...
Downloading 1.85 M separate debug info for /usr/lib/libKF6NewStuffWidgets.so.6...
Downloading 16.81 M separate debug info for /usr/lib/libKF6NewStuffCore.so.6...
Downloading 4.97 M separate debug info for /usr/lib/libQt6QuickWidgets.so.6...

warning: `/home/reza/.cache/debuginfod_client/bc28fe87529febcac109a4be8c84c5f7f03c8ff7/debuginfo': can't read symbols: file format not recognized.
Downloading 22.11 M separate debug info for /usr/lib/libKF6Attica.so.6...
Downloading 18.79 M separate debug info for /usr/lib/libKF6Syndication.so.6...
Downloading 2.71 M separate debug info for /usr/lib/qt6/plugins/konsoleplugins/konsole_quickcommandsplugin.so...
Downloading 3.92 M separate debug info for /usr/lib/qt6/plugins/konsoleplugins/konsole_sshmanagerplugin.so...
Downloading 1.23 M separate debug info for /usr/lib/qt6/plugins/kf6/urifilters/kshorturifilter.so...
Downloading 769.00 K separate debug info for /usr/lib/qt6/plugins/kf6/urifilters/kurisearchfilter.so...
Downloading 1.86 M separate debug info for /usr/lib/libkuriikwsfiltereng_private.so...
Downloading 746.39 K separate debug info for /usr/lib/qt6/plugins/kf6/urifilters/localdomainurifilter.so...
Downloading 706.87 K separate debug info for /usr/lib/qt6/plugins/kf6/urifilters/fixhosturifilter.so...
Downloading 985.31 K separate debug info for /usr/lib/qt6/plugins/kf6/urifilters/kuriikwsfilter.so...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/konsole'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x725046e2ba00 (LWP 22616))]

Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:516: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
Downloading 17.59 K source file /usr/src/debug/konsole/konsole-24.08.3/src/main.cpp...
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:533: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x725046e2ba00 (LWP 22616))]

Thread 6 (Thread 0x7250449a16c0 (LWP 22620)):
#0  0x000072504e89fa19 in __futex_abstimed_wait_common64 (private=0, futex_word=0x64bb60042028, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x64bb60042028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x000072504e89fa9f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x64bb60042028, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x000072504e8a2479 in __pthread_cond_wait_common (cond=0x64bb60042000, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x64bb60042000, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x000072503d8cf2ee in cnd_wait () at ../mesa-24.2.7/src/c11/impl/threads_posix.c:135
#6  0x000072503d8ab83c in util_queue_thread_func () at ../mesa-24.2.7/src/util/u_queue.c:290
#7  0x000072503d8cf21d in impl_thrd_routine () at ../mesa-24.2.7/src/c11/impl/threads_posix.c:67
#8  0x000072504e8a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x000072504e92849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x72503d7ff6c0 (LWP 22621)):
#0  0x000072504e89fa19 in __futex_abstimed_wait_common64 (private=0, futex_word=0x64bb60037fd8, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x64bb60037fd8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x000072504e89fa9f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x64bb60037fd8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x000072504e8a2479 in __pthread_cond_wait_common (cond=0x64bb60037fb0, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x64bb60037fb0, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x000072503d8cf2ee in cnd_wait () at ../mesa-24.2.7/src/c11/impl/threads_posix.c:135
#6  0x000072503d8ab83c in util_queue_thread_func () at ../mesa-24.2.7/src/util/u_queue.c:290
#7  0x000072503d8cf21d in impl_thrd_routine () at ../mesa-24.2.7/src/c11/impl/threads_posix.c:67
#8  0x000072504e8a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x000072504e92849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7250455fe6c0 (LWP 22619)):
#0  0x000072504e91a63d in __GI___poll (fds=fds@entry=0x7250455fdb20, nfds=nfds@entry=2, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x000072504b72d417 in poll (__fds=0x7250455fdb20, __nfds=2, __timeout=-1) at /usr/include/bits/poll2.h:44
#2  QtWaylandClient::EventThread::run (this=0x64bb5ff8e8d0) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:182
#3  0x000072504f0d840f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#4  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#5  QThreadPrivate::start (arg=0x64bb5ff8e8d0) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#6  0x000072504e8a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#7  0x000072504e92849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7250469ff6c0 (LWP 22617)):
#0  0x000072504e91abb0 in __GI_ppoll (fds=fds@entry=0x64bb5ff2dd50, nfds=nfds@entry=2, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:42
#1  0x000072504c22f227 in ppoll (__fds=0x64bb5ff2dd50, __nfds=2, __timeout=0x0, __ss=0x0) at /usr/include/bits/poll2.h:101
#2  g_main_context_poll_unlocked (priority=<optimized out>, context=0x725040000cb0, timeout_usec=<optimized out>, fds=0x64bb5ff2dd50, n_fds=2) at ../glib/glib/gmain.c:4591
#3  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x725040000cb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4268
#4  0x000072504c1cba55 in g_main_context_iteration (context=0x725040000cb0, may_block=1) at ../glib/glib/gmain.c:4338
#5  0x000072504f1bf71d in QEventDispatcherGlib::processEvents (this=0x725040000ba0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#6  0x000072504ef64566 in QEventLoop::processEvents (this=0x7250469feae0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#7  QEventLoop::exec (this=0x7250469feae0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#8  0x000072504f057072 in QThread::exec (this=this@entry=0x72504dc3eb20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#9  0x000072504dbb379e in QDBusConnectionManager::run (this=0x72504dc3eb20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusconnectionmanager.cpp:144
#10 0x000072504f0d840f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#11 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#12 QThreadPrivate::start (arg=0x72504dc3eb20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#13 0x000072504e8a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#14 0x000072504e92849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 2 (Thread 0x725045dff6c0 (LWP 22618)):
#0  0x000072504e89fa19 in __futex_abstimed_wait_common64 (private=0, futex_word=0x64bb5ff76ad4, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x64bb5ff76ad4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#2  0x000072504e89fa9f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x64bb5ff76ad4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x000072504e8a2479 in __pthread_cond_wait_common (cond=0x64bb5ff76aa8, mutex=<optimized out>, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x64bb5ff76aa8, mutex=<optimized out>) at pthread_cond_wait.c:618
#5  0x000072504f0dd030 in QWaitConditionPrivate::wait (this=0x64bb5ff76a80, deadline=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:102
#6  QWaitCondition::wait (this=this@entry=0x64bb5ff765b0, mutex=mutex@entry=0x64bb5ff765a8, deadline=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:180
#7  0x000072504b72d3af in QtWaylandClient::EventThread::waitForReading (this=0x64bb5ff76570) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:216
#8  QtWaylandClient::EventThread::run (this=0x64bb5ff76570) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:177
#9  0x000072504f0d840f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#11 QThreadPrivate::start (arg=0x64bb5ff76570) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#12 0x000072504e8a339d in start_thread (arg=<optimized out>) at pthread_create.c:447
#13 0x000072504e92849c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x725046e2ba00 (LWP 22616)):
[KCrash Handler]
#5  0x000072504b778c9e in non-virtual thunk to QtWaylandClient::QWaylandTabletPadV2::zwp_tablet_pad_v2_removed() () at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylandtabletv2_p.h:149
#6  0x00007250487f0596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#7  0x00007250487ed00e in ffi_call_int (cif=cif@entry=0x7ffe3738a880, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#8  0x00007250487efbd3 in ffi_call (cif=cif@entry=0x7ffe3738a880, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffe3738a950) at ../src/x86/ffi64.c:710
#9  0x000072504b6c38b0 in wl_closure_invoke (closure=closure@entry=0x725034004560, target=<optimized out>, target@entry=0x725038004a50, opcode=opcode@entry=7, data=<optimized out>, flags=1) at ../wayland-1.23.1/src/connection.c:1228
#10 0x000072504b6c4139 in dispatch_event (display=display@entry=0x64bb5ff27b30, queue=queue@entry=0x64bb5ff27c28) at ../wayland-1.23.1/src/wayland-client.c:1674
#11 0x000072504b6c4553 in dispatch_queue (display=0x64bb5ff27b30, queue=0x64bb5ff27c28) at ../wayland-1.23.1/src/wayland-client.c:1820
#12 wl_display_dispatch_queue_pending (display=0x64bb5ff27b30, queue=0x64bb5ff27c28) at ../wayland-1.23.1/src/wayland-client.c:2062
#13 0x000072504b72d266 in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt6-wayland/qtwayland/src/client/qwaylanddisplay.cpp:227
#14 0x000072504efa348a in QObject::event (this=0x64bb5ff27910, e=0x7250380038a0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1419
#15 0x000072504fefe31a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x64bb5ff27910, e=0x7250380038a0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#16 0x000072504ef585a8 in QCoreApplication::notifyInternal2 (receiver=0x64bb5ff27910, event=event@entry=0x7250380038a0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1165
#17 0x000072504ef59035 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1609
#18 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x64bb5ff1c430) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1965
#19 0x000072504f1c23fc in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1797
#20 postEventSourceDispatch (s=0x64bb5ff88b90) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:246
#21 0x000072504c1cc559 in g_main_dispatch (context=0x725040000f30) at ../glib/glib/gmain.c:3357
#22 0x000072504c22f157 in g_main_context_dispatch_unlocked (context=0x725040000f30) at ../glib/glib/gmain.c:4208
#23 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x725040000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#24 0x000072504c1cba55 in g_main_context_iteration (context=0x725040000f30, may_block=1) at ../glib/glib/gmain.c:4338
#25 0x000072504f1bf71d in QEventDispatcherGlib::processEvents (this=0x64bb5ff22710, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#26 0x000072504ef64566 in QEventLoop::processEvents (this=0x7ffe3738b010, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#27 QEventLoop::exec (this=0x7ffe3738b010, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#28 0x000072504ef59a2f in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#29 0x000072504fefa74a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2562
#30 0x000064bb573787a5 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/konsole/konsole-24.08.3/src/main.cpp:260

Reported using DrKonqi
Comment 1 Reza Jahanbakhshi 2024-12-02 10:15:19 UTC

*** This bug has been marked as a duplicate of bug 496132 ***