Bug 480006 - Crash in SidebarMode::eventFilter() after removing ALT+TAB shortcut
Summary: Crash in SidebarMode::eventFilter() after removing ALT+TAB shortcut
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: sidebarview (other bugs)
Version First Reported In: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt6
Depends on:
Blocks:
 
Reported: 2024-01-18 17:59 UTC by duha.bugs
Modified: 2024-02-06 11:56 UTC (History)
3 users (show)

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


Attachments
BT_GIT_MASTER (17.84 KB, text/plain)
2024-01-18 18:20 UTC, duha.bugs
Details

Note You need to log in before you can comment on or make changes to this bug.
Description duha.bugs 2024-01-18 17:59:54 UTC
Application: systemsettings (6.0.80)

Qt Version: 6.6.1
Frameworks Version: 5.249.0
Operating System: Linux 6.5.0-14-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Unstable Edition
DrKonqi: 6.0.80 [CoredumpBackend]

-- Information about the crash:
Steps to reproduce:
remove ALT+TAB shortcut then press ALT+TAB a bunch of times in systemsettings -> crash

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault

[New LWP 1388]
[New LWP 1402]
[New LWP 1397]
[New LWP 1392]
[New LWP 1398]
[New LWP 1396]
[New LWP 1403]
[New LWP 1400]
[New LWP 1389]
[New LWP 1390]
[New LWP 1399]
[New LWP 1405]
[New LWP 1391]
[New LWP 1404]

This GDB supports auto-downloading debuginfo from the following URLs:
https://debuginfod.neon.kde.org/:
Enable debuginfod for this session? (y or [n]) [answered N; input not from terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/systemsettings'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (no_tid=0, signo=11, threadid=140112706783936) at ./nptl/pthread_kill.c:44
[Current thread is 1 (Thread 0x7f6e881dcac0 (LWP 1388))]
Cannot QML trace cores :(
[Current thread is 1 (Thread 0x7f6e881dcac0 (LWP 1388))]

Thread 14 (Thread 0x7f6e5c884640 (LWP 1404)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e5c883970, op=137, expected=0, futex_word=0x561427a983c4) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e5c883970, clockid=560, expected=0, futex_word=0x561427a983c4) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561427a983c4, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e5c883970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e5c883970, clockid=1, mutex=0x561427a98370, cond=0x561427a98398) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x561427a98398, mutex=0x561427a98370, abstime=0x7f6e5c883970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x561427a98370) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x561427a98370) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x561426c4e000) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x561426c4e000) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 13 (Thread 0x7f6e866a3640 (LWP 1391)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x7f6e866a2a10, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8aa6b301 in  () at /lib/x86_64-linux-gnu/libQt6WaylandClient.so.6
#2  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#3  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#4  QThreadPrivate::start(void*) (arg=0x561425bd5f50) at ./src/corelib/thread/qthread_unix.cpp:283
#5  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 12 (Thread 0x7f6e47fff640 (LWP 1405)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e47ffe970, op=137, expected=0, futex_word=0x561426c19a30) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e47ffe970, clockid=560, expected=0, futex_word=0x561426c19a30) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561426c19a30, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e47ffe970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e47ffe970, clockid=1, mutex=0x561426c199e0, cond=0x561426c19a08) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x561426c19a08, mutex=0x561426c199e0, abstime=0x7f6e47ffe970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x561426c199e0) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x561426c199e0) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x561426c25dd0) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x561426c25dd0) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 11 (Thread 0x7f6e5effd640 (LWP 1399)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e5effc970, op=137, expected=0, futex_word=0x561426d90e84) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e5effc970, clockid=560, expected=0, futex_word=0x561426d90e84) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561426d90e84, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e5effc970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e5effc970, clockid=1, mutex=0x561426d90e30, cond=0x561426d90e58) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x561426d90e58, mutex=0x561426d90e30, abstime=0x7f6e5effc970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x561426d90e30) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x561426d90e30) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x561426dec000) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x561426dec000) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 10 (Thread 0x7f6e86ea4640 (LWP 1390)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x7f6e86ea3a10, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8aa6b301 in  () at /lib/x86_64-linux-gnu/libQt6WaylandClient.so.6
#2  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#3  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#4  QThreadPrivate::start(void*) (arg=0x561425b654a0) at ./src/corelib/thread/qthread_unix.cpp:283
#5  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 9 (Thread 0x7f6e87dff640 (LWP 1389)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x7f6e8001c8c0, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8b5bc1f6 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6e8b5643e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6e8c3082c0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e80000b70, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#4  0x00007f6e8c46a01b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e87dfe9d0, flags=...) at ./src/corelib/global/qflags.h:34
#5  0x00007f6e8c3a1068 in QThread::exec() (this=this@entry=0x7f6e8bfff2a0 <_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_116Q_QGS__q_managerEEEE8instanceEvE6holder.lto_priv.0>) at ./src/corelib/global/qflags.h:74
#6  0x00007f6e8bf87dbe in QDBusConnectionManager::run() (this=0x7f6e8bfff2a0 <_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_116Q_QGS__q_managerEEEE8instanceEvE6holder.lto_priv.0>) at ./src/dbus/qdbusconnection.cpp:131
#7  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#8  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#9  QThreadPrivate::start(void*) (arg=0x7f6e8bfff2a0 <_ZZN13QGlobalStaticIN14QtGlobalStatic6HolderIN12_GLOBAL__N_116Q_QGS__q_managerEEEE8instanceEvE6holder.lto_priv.0>) at ./src/corelib/thread/qthread_unix.cpp:283
#10 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#11 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 8 (Thread 0x7f6e5e7fc640 (LWP 1400)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e5e7fb970, op=137, expected=0, futex_word=0x561426de9fc4) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e5e7fb970, clockid=560, expected=0, futex_word=0x561426de9fc4) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561426de9fc4, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e5e7fb970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e5e7fb970, clockid=1, mutex=0x561426de9f70, cond=0x561426de9f98) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x561426de9f98, mutex=0x561426de9f70, abstime=0x7f6e5e7fb970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x561426de9f70) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x561426de9f70) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x561426defd50) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x561426defd50) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7f6e5d085640 (LWP 1403)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e5d084970, op=137, expected=0, futex_word=0x5614277be174) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e5d084970, clockid=560, expected=0, futex_word=0x5614277be174) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5614277be174, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e5d084970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e5d084970, clockid=1, mutex=0x5614277be120, cond=0x5614277be148) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x5614277be148, mutex=0x5614277be120, abstime=0x7f6e5d084970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x5614277be120) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5614277be120) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x56142682f100) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x56142682f100) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7f6e6dc71640 (LWP 1396)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x56142638af60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8b5bc1f6 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6e8b5643e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6e8c3082c0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e60000b70, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#4  0x00007f6e8c46a01b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e6dc70a20, flags=...) at ./src/corelib/global/qflags.h:34
#5  0x00007f6e8c3a1068 in QThread::exec() (this=<optimized out>) at ./src/corelib/global/qflags.h:74
#6  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#7  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#8  QThreadPrivate::start(void*) (arg=0x5614264f6460) at ./src/corelib/thread/qthread_unix.cpp:283
#9  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#10 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7f6e5f7fe640 (LWP 1398)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x561426861b90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8b5bc1f6 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6e8b5662b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6e6413c07a in  () at /lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f6e8b595a51 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7f6e8486a640 (LWP 1392)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x561425e04cf0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8b5bc1f6 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6e8b5643e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6e8c3082c0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e68000b70, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#4  0x00007f6e8c46a01b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f6e84869a20, flags=...) at ./src/corelib/global/qflags.h:34
#5  0x00007f6e8c3a1068 in QThread::exec() (this=<optimized out>) at ./src/corelib/global/qflags.h:74
#6  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#7  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#8  QThreadPrivate::start(void*) (arg=0x561425ca8420) at ./src/corelib/thread/qthread_unix.cpp:283
#9  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#10 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7f6e5ffff640 (LWP 1397)):
#0  0x00007f6e8b918bcf in __GI___poll (fds=0x561426847ef0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f6e8b5bc1f6 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6e8b5643e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6e8b564431 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f6e8b595a51 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#6  0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7f6e5d886640 (LWP 1402)):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x7f6e5d885970, op=137, expected=0, futex_word=0x561426e00630) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x7f6e5d885970, clockid=560, expected=0, futex_word=0x561426e00630) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561426e00630, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f6e5d885970, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007f6e8b893e9b in __pthread_cond_wait_common (abstime=0x7f6e5d885970, clockid=1, mutex=0x561426e005e0, cond=0x561426e00608) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_timedwait64 (cond=0x561426e00608, mutex=0x561426e005e0, abstime=0x7f6e5d885970) at ./nptl/pthread_cond_wait.c:652
#5  0x00007f6e8c368f27 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x561426e005e0) at ./src/corelib/thread/qwaitcondition_unix.cpp:93
#6  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x561426e005e0) at ./src/corelib/thread/qwaitcondition_unix.cpp:101
#7  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x561426ba05c8, deadline=...) at ./src/corelib/thread/qwaitcondition_unix.cpp:181
#8  0x00007f6e8c364501 in QThreadPoolThread::run() (this=0x5614268176a0) at ./src/corelib/thread/qthreadpool.cpp:114
#9  0x00007f6e8c363f4d in operator() (__closure=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:324
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at ./src/corelib/thread/qthread_unix.cpp:260
#11 QThreadPrivate::start(void*) (arg=0x5614268176a0) at ./src/corelib/thread/qthread_unix.cpp:283
#12 0x00007f6e8b894ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#13 0x00007f6e8b926850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7f6e881dcac0 (LWP 1388)):
[KCrash Handler]
#6  std::__atomic_base<QThreadData*>::load(std::memory_order) const (__m=std::memory_order_acquire, this=<error reading variable: Cannot access memory at address 0xd>, this=<optimized out>, __m=<optimized out>) at /usr/include/c++/12/bits/atomic_base.h:818
#7  std::atomic<QThreadData*>::load(std::memory_order) const (__m=std::memory_order_acquire, this=<error reading variable: Cannot access memory at address 0xd>, this=<optimized out>, __m=<optimized out>) at /usr/include/c++/12/atomic:579
#8  QAtomicOps<QThreadData*>::loadAcquire<QThreadData*>(std::atomic<QThreadData*> const&) (_q_value=<error reading variable: Cannot access memory at address 0xd>, _q_value=<optimized out>) at ./src/corelib/thread/qatomic_cxx11.h:213
#9  QBasicAtomicPointer<QThreadData>::loadAcquire() const (this=<error reading variable: Cannot access memory at address 0xd>, this=<optimized out>) at ./src/corelib/thread/qbasicatomic.h:179
#10 QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5, event=event@entry=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1117
#11 0x00007f6e8c45fe9d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=event@entry=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1539
#12 0x0000561424c58d83 in SidebarMode::eventFilter(QObject*, QEvent*) (this=0x561425db08e0, watched=0x561425cd6db0, event=0x7ffcbf45d950) at ./app/sidebar/SidebarMode.cpp:746
#13 0x00007f6e8c45d448 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x561425cd6db0, event=event@entry=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1253
#14 0x00007f6e8e3f1b0b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x561425b2a2f0, receiver=receiver@entry=0x561425cd6db0, e=e@entry=0x7ffcbf45d950) at ./src/widgets/kernel/qapplication.cpp:3290
#15 0x00007f6e8e3f5e33 in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x5614260f7980, e=0x7ffcbf45d950) at ./src/widgets/kernel/qapplication.cpp:2723
#16 0x00007f6e8c45fe58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5614260f7980, event=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1121
#17 0x00007f6e8c45fe8a in QCoreApplication::forwardEvent(QObject*, QEvent*, QEvent*) (receiver=<optimized out>, event=event@entry=0x7ffcbf45d950, originatingEvent=originatingEvent@entry=0x0) at ./src/corelib/kernel/qcoreapplication.cpp:1136
#18 0x00007f6e8e438e0a in QWidgetWindow::handleGestureEvent(QNativeGestureEvent*) (e=<optimized out>, this=<optimized out>) at ./src/widgets/kernel/qwidgetwindow.cpp:1108
#19 QWidgetWindow::event(QEvent*) (this=0x561426432af0, event=0x7ffcbf45d950) at ./src/widgets/kernel/qwidgetwindow.cpp:312
#20 0x00007f6e8e3f1b1b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561426432af0, e=0x7ffcbf45d950) at ./src/widgets/kernel/qapplication.cpp:3296
#21 0x00007f6e8c45fe58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x561426432af0, event=event@entry=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1121
#22 0x00007f6e8c46037d in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=receiver@entry=0x561426432af0, event=event@entry=0x7ffcbf45d950) at ./src/corelib/kernel/qcoreapplication.cpp:1553
#23 0x00007f6e8c8efeab in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) (e=0x561427a2ca20) at ./src/gui/kernel/qguiapplication.cpp:2449
#24 0x00007f6e8c95553c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at ./src/gui/kernel/qwindowsysteminterface.cpp:1109
#25 0x00007f6e8cd0a994 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at ./src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#26 0x00007f6e8b566d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007f6e8b5bc258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f6e8b5643e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f6e8c3082c0 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x561425b5c140, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#30 0x00007f6e8c46a01b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffcbf45dc10, flags=...) at ./src/corelib/global/qflags.h:34
#31 0x00007f6e8c463d0c in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74
#32 0x00007f6e8c8ea040 in QGuiApplication::exec() () at ./src/gui/kernel/qguiapplication.cpp:1925
#33 0x00007f6e8e3ef089 in QApplication::exec() () at ./src/widgets/kernel/qapplication.cpp:2574
#34 0x0000561424c4ddd4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:175

Reported using DrKonqi
Comment 1 duha.bugs 2024-01-18 18:20:16 UTC
Created attachment 165017 [details]
BT_GIT_MASTER

Can also reproduce on git master. BT attached.
Comment 2 Akseli Lahtinen 2024-02-06 11:22:46 UTC
Can reproduce

Operating System: Fedora Linux 39
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.0
Kernel Version: 6.7.3-200.fc39.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600
Comment 3 Bug Janitor Service 2024-02-06 11:49:06 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/systemsettings/-/merge_requests/293
Comment 4 Akseli Lahtinen 2024-02-06 11:54:30 UTC
Git commit 4ba7b0b1e81543600b97afc2d3bfe67dd9b6f87e by Akseli Lahtinen.
Committed on 06/02/2024 at 11:54.
Pushed by akselmo into branch 'master'.

SideBarMode: return false in eventFilter if qqw is nullptr

If user presses Alt+Tab in a view that has both `QtWidgets` and `QtQuickWidgets`, and
Alt+Tab is not set as a shortcut, systemsettings will crash.

This seems to be because Alt key activates the quick shortcuts in `QtWidgets`
(the thing that underlines one letter from an element) and the active element
is then not a `QtQuickWidget`, which is then `nullptr`, and crashes systemsettings
when `nullptr` is sent with `sendEvent`

M  +7    -0    app/sidebar/SidebarMode.cpp

https://invent.kde.org/plasma/systemsettings/-/commit/4ba7b0b1e81543600b97afc2d3bfe67dd9b6f87e
Comment 5 Akseli Lahtinen 2024-02-06 11:56:15 UTC
Git commit d14df9091ec7d0d676734614d936f85d5bdac55e by Akseli Lahtinen.
Committed on 06/02/2024 at 11:55.
Pushed by akselmo into branch 'Plasma/6.0'.

SideBarMode: return false in eventFilter if qqw is nullptr

If user presses Alt+Tab in a view that has both `QtWidgets` and `QtQuickWidgets`, and
Alt+Tab is not set as a shortcut, systemsettings will crash.

This seems to be because Alt key activates the quick shortcuts in `QtWidgets`
(the thing that underlines one letter from an element) and the active element
is then not a `QtQuickWidget`, which is then `nullptr`, and crashes systemsettings
when `nullptr` is sent with `sendEvent`


(cherry picked from commit 4ba7b0b1e81543600b97afc2d3bfe67dd9b6f87e)

M  +7    -0    app/sidebar/SidebarMode.cpp

https://invent.kde.org/plasma/systemsettings/-/commit/d14df9091ec7d0d676734614d936f85d5bdac55e