Bug 446606

Summary: uninstalling software I don't use causes kwin to crash in KWin::EffectQuickView::update()
Product: [Plasma] kwin Reporter: Sharon Norman <smnorma>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: nate
Priority: NOR Keywords: drkonqi
Version: 5.23.4   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Sharon Norman 2021-12-07 04:59:42 UTC
Application: kwin_x11 (5.23.4)
 (Compiled from sources)
Qt Version: 5.15.3
Frameworks Version: 5.88.0
Operating System: Linux 5.11.0-41-generic x86_64
Windowing System: X11
Distribution: Windowsfx 11
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
I was uninstalling kodi and another program I installed called muon manager. Sad face appeared and said kwin crashed report bug error.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault

[New LWP 34661]
[New LWP 34662]
[New LWP 34663]
[New LWP 34664]
[New LWP 34665]
[New LWP 34666]
[New LWP 34673]
[New LWP 34877]
[New LWP 46080]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fc97689caff in __GI___poll (fds=0x7ffefd2a0378, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
__preamble__
[Current thread is 1 (Thread 0x7fc970b5c080 (LWP 34655))]

Thread 10 (Thread 0x7fc94adee700 (LWP 46080)):
#0  0x00007fc97689cbf6 in __ppoll (fds=fds@entry=0x7fc91c0115d8, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007fc9776d6519 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc91c0115d8) at kernel/qcore_unix.cpp:132
#3  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc91c0115d8) at kernel/qcore_unix.cpp:129
#4  qt_safe_poll (fds=0x7fc91c0115d8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:155
#5  0x00007fc9776d7bc3 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
#6  0x00007fc97767e8ab in QEventLoop::exec (this=this@entry=0x7fc94adedbc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007fc9774982c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007fc975542549 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fc97749945c in QThreadPrivate::start (arg=0x564f1aa8a900) at thread/qthread_unix.cpp:329
#10 0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fc960845700 (LWP 34877)):
#0  0x00007fc97689cbf6 in __ppoll (fds=fds@entry=0x7fc930000d78, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007fc9776d6519 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc930000d78) at kernel/qcore_unix.cpp:132
#3  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc930000d78) at kernel/qcore_unix.cpp:129
#4  qt_safe_poll (fds=0x7fc930000d78, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:155
#5  0x00007fc9776d7bc3 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
#6  0x00007fc97767e8ab in QEventLoop::exec (this=this@entry=0x7fc960844bc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007fc9774982c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007fc975542549 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fc97749945c in QThreadPrivate::start (arg=0x564f1a4369d0) at thread/qthread_unix.cpp:329
#10 0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fc94a475700 (LWP 34673)):
#0  0x00007fc97689cbf6 in __ppoll (fds=fds@entry=0x7fc93c000d78, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007fc9776d6519 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc93c000d78) at kernel/qcore_unix.cpp:132
#3  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc93c000d78) at kernel/qcore_unix.cpp:129
#4  qt_safe_poll (fds=0x7fc93c000d78, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:155
#5  0x00007fc9776d7bc3 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
#6  0x00007fc97767e8ab in QEventLoop::exec (this=this@entry=0x7fc94a474bc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007fc9774982c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007fc975542549 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007fc97749945c in QThreadPrivate::start (arg=0x564f194aaa70) at thread/qthread_unix.cpp:329
#10 0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fc961046700 (LWP 34666)):
#0  0x00007fc97689cbf6 in __ppoll (fds=fds@entry=0x7fc94400b118, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:44
#1  0x00007fc9776d6519 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc94400b118) at kernel/qcore_unix.cpp:132
#3  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7fc94400b118) at kernel/qcore_unix.cpp:129
#4  qt_safe_poll (fds=0x7fc94400b118, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:155
#5  0x00007fc9776d7bc3 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/tools/qarraydata.h:211
#6  0x00007fc97767e8ab in QEventLoop::exec (this=this@entry=0x7fc961045bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007fc9774982c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007fc977345f4b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007fc97749945c in QThreadPrivate::start (arg=0x7fc9773c9d80) at thread/qthread_unix.cpp:329
#10 0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fc961847700 (LWP 34665)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564f19079ca8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564f19079c58, cond=0x564f19079c80) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x564f19079c80, mutex=0x564f19079c58) at pthread_cond_wait.c:638
#3  0x00007fc96db46e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4  0x00007fc96db46a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5  0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fc962048700 (LWP 34664)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564f19079ca8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564f19079c58, cond=0x564f19079c80) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x564f19079c80, mutex=0x564f19079c58) at pthread_cond_wait.c:638
#3  0x00007fc96db46e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4  0x00007fc96db46a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5  0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fc962849700 (LWP 34663)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564f19079ca8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564f19079c58, cond=0x564f19079c80) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x564f19079c80, mutex=0x564f19079c58) at pthread_cond_wait.c:638
#3  0x00007fc96db46e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4  0x00007fc96db46a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5  0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fc96cf8e700 (LWP 34662)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564f19079ca8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564f19079c58, cond=0x564f19079c80) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x564f19079c80, mutex=0x564f19079c58) at pthread_cond_wait.c:638
#3  0x00007fc96db46e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4  0x00007fc96db46a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5  0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fc96d8e4700 (LWP 34661)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x564f19079444) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x564f190793f0, cond=0x564f19079418) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x564f19079418, mutex=0x564f190793f0) at pthread_cond_wait.c:638
#3  0x00007fc96db46e7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#4  0x00007fc96db46a7b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#5  0x00007fc974f01609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fc9768a9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fc970b5c080 (LWP 34655)):
[KCrash Handler]
#4  0x00007fc975872a62 in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#5  0x00007fc97586eb14 in QSGOpaqueTextureMaterialShader::updateState(QSGMaterialShader::RenderState const&, QSGMaterial*, QSGMaterial*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007fc9758521b9 in QSGBatchRenderer::Renderer::renderMergedBatch(QSGBatchRenderer::Batch const*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007fc975857b7d in QSGBatchRenderer::Renderer::renderBatches() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007fc97585826a in QSGBatchRenderer::Renderer::render() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007fc97583be24 in QSGRenderer::renderScene(QSGBindable const&) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007fc97583c2db in QSGRenderer::renderScene(unsigned int) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007fc9758ab087 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#12 0x00007fc975918a39 in QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#13 0x00007fc9759a2bfd in QQuickRenderControl::render() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#14 0x00007fc97665d623 in KWin::EffectQuickView::update() () from /lib/x86_64-linux-gnu/libkwineffects.so.13
#15 0x00007fc9776b6dce in QtPrivate::QSlotObjectBase::call (a=0x7ffefd2a1f80, r=0x564f1acfce50, this=0x564f19fd6100) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#16 doActivate<false> (sender=0x564f1adeabc0, signal_index=3, argv=0x7ffefd2a1f80) at kernel/qobject.cpp:3886
#17 0x00007fc9776b0197 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fc97791bc80 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffefd2a1f80) at kernel/qobject.cpp:3946
#18 0x00007fc9776bb90e in QTimer::timeout (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#19 0x00007fc9776ad865 in QObject::event (this=0x564f1adeabc0, e=0x7ffefd2a22b0) at kernel/qobject.cpp:1336
#20 0x00007fc976cd1dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x564f18ee14a0, receiver=receiver@entry=0x564f1adeabc0, e=e@entry=0x7ffefd2a22b0) at kernel/qapplication.cpp:3632
#21 0x00007fc976cdabb8 in QApplication::notify (this=0x7ffefd2a2540, receiver=0x564f1adeabc0, e=0x7ffefd2a22b0) at kernel/qapplication.cpp:3156
#22 0x00007fc97767fdaa in QCoreApplication::notifyInternal2 (receiver=0x564f1adeabc0, event=0x7ffefd2a22b0) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#23 0x00007fc9776d9950 in QTimerInfoList::activateTimers (this=this@entry=0x564f18f996d8) at kernel/qtimerinfo_unix.cpp:643
#24 0x00007fc9776d7020 in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x564f18f99650) at kernel/qeventdispatcher_unix.cpp:249
#25 0x00007fc9776d7d17 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#26 0x00007fc9704a2262 in QXcbUnixEventDispatcher::processEvents (this=0x564f18fa36e0, flags=...) at qxcbeventdispatcher.cpp:60
#27 0x00007fc97767e8ab in QEventLoop::exec (this=this@entry=0x7ffefd2a2450, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#28 0x00007fc977686a64 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#29 0x0000564f17e50ae3 in ?? ()
#30 0x00007fc9767ae0b3 in __libc_start_main (main=0x564f17e506e0, argc=3, argv=0x7ffefd2a26f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffefd2a26e8) at ../csu/libc-start.c:308
#31 0x0000564f17e5101e in ?? ()
[Inferior 1 (process 34655) detached]

Possible duplicates by query: bug 445980, bug 445677, bug 444429, bug 444381, bug 444306.

Reported using DrKonqi
Comment 1 Nate Graham 2021-12-07 21:05:07 UTC
Weird, not sure how that could have caused it.
Comment 2 Vlad Zahorodnii 2022-01-19 20:18:16 UTC
It's a crash caused by EffectQuickView not properly cleaning up scene graph nodes, it's similar to bug 444381. This should be fixed in 5.23.5