Bug 422689 - KWin crash in PresentWindows effect
Summary: KWin crash in PresentWindows effect
Status: RESOLVED DUPLICATE of bug 423319
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-06-09 18:18 UTC by Joachim Mairböck
Modified: 2020-09-14 20:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joachim Mairböck 2020-06-09 18:18:07 UTC
Application: kwin_x11 (5.12.8)

Qt Version: 5.9.7
Frameworks Version: 5.55.0
Operating System: Linux 4.12.14-lp151.28.48-default x86_64
Distribution: "openSUSE Leap 15.1"

-- Information about the crash:
- What I was doing when the application crashed:
KWin crashed in PresentWindows effect triggered via screen corner, I suppose when a window was just opened or closed.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
[Current thread is 1 (Thread 0x7f12f4dd7940 (LWP 2783))]

Thread 7 (Thread 0x7f12d35ef700 (LWP 5399)):
#0  0x00007f12f475f7d6 in __GI_ppoll (fds=fds@entry=0x7f12c8013218, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f12f1d6a4b1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f12f1d6a4b1 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f12c8013218) at kernel/qcore_unix.cpp:81
#3  0x00007f12f1d6a4b1 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f12c8013218, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f12f1d6bbce in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f12f1d1379a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f12d35eec50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f12f1b31d4a in QThread::exec() (this=this@entry=0x5643fd7f7070) at thread/qthread.cpp:515
#7  0x00007f12ec2079f5 in QQmlThreadPrivate::run() (this=0x5643fd7f7070) at /usr/src/debug/libqt5-qtdeclarative-5.9.7-lp151.2.2.x86_64/src/qml/qml/ftw/qqmlthread.cpp:147
#8  0x00007f12f1b36c8d in QThreadPrivate::start(void*) (arg=0x5643fd7f7070) at thread/qthread_unix.cpp:368
#9  0x00007f12ed71d4f9 in start_thread (arg=0x7f12d35ef700) at pthread_create.c:465
#10 0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f12af7fe700 (LWP 3026)):
#0  0x00007f12ed72387d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f12f0cdcfb8 <QTWTF::pageheap_memory+57592>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f12ed72387d in __pthread_cond_wait_common (abstime=0x0, mutex=0x7f12f0cdcf68 <QTWTF::pageheap_memory+57512>, cond=0x7f12f0cdcf90 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:502
#2  0x00007f12ed72387d in __pthread_cond_wait (cond=0x7f12f0cdcf90 <QTWTF::pageheap_memory+57552>, mutex=0x7f12f0cdcf68 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:655
#3  0x00007f12f09e7574 in QTWTF::TCMalloc_PageHeap::scavengerThread() (this=0x7f12f0cceec0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00007f12f09e75b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x00007f12ed71d4f9 in start_thread (arg=0x7f12af7fe700) at pthread_create.c:465
#6  0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f12c4a91700 (LWP 3013)):
#0  0x00007f12ed72387d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5643fcf80d88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f12ed72387d in __pthread_cond_wait_common (abstime=0x0, mutex=0x5643fcf80d38, cond=0x5643fcf80d60) at pthread_cond_wait.c:502
#2  0x00007f12ed72387d in __pthread_cond_wait (cond=0x5643fcf80d60, mutex=0x5643fcf80d38) at pthread_cond_wait.c:655
#3  0x00007f12c674883b in cnd_wait (mtx=0x5643fcf80d38, cond=0x5643fcf80d60) at ../../include/c11/threads_posix.h:155
#4  0x00007f12c674883b in util_queue_thread_func (input=input@entry=0x5643fca7f300) at u_queue.c:270
#5  0x00007f12c6748547 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f12ed71d4f9 in start_thread (arg=0x7f12c4a91700) at pthread_create.c:465
#7  0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f12c53d3700 (LWP 3012)):
#0  0x00007f12ed72387d in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5643fd187b04) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f12ed72387d in __pthread_cond_wait_common (abstime=0x0, mutex=0x5643fd187ab0, cond=0x5643fd187ad8) at pthread_cond_wait.c:502
#2  0x00007f12ed72387d in __pthread_cond_wait (cond=0x5643fd187ad8, mutex=0x5643fd187ab0) at pthread_cond_wait.c:655
#3  0x00007f12c674883b in cnd_wait (mtx=0x5643fd187ab0, cond=0x5643fd187ad8) at ../../include/c11/threads_posix.h:155
#4  0x00007f12c674883b in util_queue_thread_func (input=input@entry=0x5643fc98a0d0) at u_queue.c:270
#5  0x00007f12c6748547 in impl_thrd_routine (p=<optimized out>) at ../../include/c11/threads_posix.h:87
#6  0x00007f12ed71d4f9 in start_thread (arg=0x7f12c53d3700) at pthread_create.c:465
#7  0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f12d250a700 (LWP 2969)):
#0  0x00007f12f475f7d6 in __GI_ppoll (fds=fds@entry=0x7f12c0000d18, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f12f1d6a4b1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f12f1d6a4b1 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f12c0000d18) at kernel/qcore_unix.cpp:81
#3  0x00007f12f1d6a4b1 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f12c0000d18, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f12f1d6bbce in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f12f1d1379a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f12d2509c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f12f1b31d4a in QThread::exec() (this=this@entry=0x5643fce25ba0) at thread/qthread.cpp:515
#7  0x00007f12ec2079f5 in QQmlThreadPrivate::run() (this=0x5643fce25ba0) at /usr/src/debug/libqt5-qtdeclarative-5.9.7-lp151.2.2.x86_64/src/qml/qml/ftw/qqmlthread.cpp:147
#8  0x00007f12f1b36c8d in QThreadPrivate::start(void*) (arg=0x5643fce25ba0) at thread/qthread_unix.cpp:368
#9  0x00007f12ed71d4f9 in start_thread (arg=0x7f12d250a700) at pthread_create.c:465
#10 0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f12d98ca700 (LWP 2808)):
#0  0x00007f12f475f7d6 in __GI_ppoll (fds=fds@entry=0x7f12cc00c418, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f12f1d6a4b1 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/bits/poll2.h:77
#2  0x00007f12f1d6a4b1 in qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f12cc00c418) at kernel/qcore_unix.cpp:81
#3  0x00007f12f1d6a4b1 in qt_safe_poll(pollfd*, unsigned long, timespec const*) (fds=0x7f12cc00c418, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f12f1d6bbce in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f12f1d1379a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f12d98c9c40, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f12f1b31d4a in QThread::exec() (this=this@entry=0x7f12eb319d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:515
#7  0x00007f12eb0a69e5 in QDBusConnectionManager::run() (this=0x7f12eb319d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f12f1b36c8d in QThreadPrivate::start(void*) (arg=0x7f12eb319d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:368
#9  0x00007f12ed71d4f9 in start_thread (arg=0x7f12d98ca700) at pthread_create.c:465
#10 0x00007f12f4769f2f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f12f4dd7940 (LWP 2783)):
[KCrash Handler]
#6  0x00007f12f1d27e21 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (obj=0x5643fc729690, member=member@entry=0x7f12f126929c "addRepaintFull", type=type@entry=Qt::AutoConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1474
#7  0x00007f12f12557e7 in QMetaObject::invokeMethod(QObject*, char const*, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (val9=..., val8=..., val7=..., val6=..., val5=..., val4=..., val3=..., val2=..., val1=..., val0=..., member=0x7f12f126929c "addRepaintFull", obj=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs.h:467
#8  0x00007f12f12557e7 in KWin::EffectWindow::addRepaintFull() (this=<optimized out>) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/libkwineffects/kwineffects.cpp:920
#9  0x00007f12f0fab54a in KWin::PresentWindowsEffect::setHighlightedWindow(KWin::EffectWindow*) (this=this@entry=0x5643fd359ba0, w=w@entry=0x0) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects/presentwindows/presentwindows.cpp:1718
#10 0x00007f12f0fae93e in KWin::PresentWindowsEffect::setHighlightedWindow(KWin::EffectWindow*) (w=0x0, this=0x5643fd359ba0) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects/presentwindows/presentwindows.cpp:593
#11 0x00007f12f0fae93e in KWin::PresentWindowsEffect::inputEventUpdate(QPoint const&, QEvent::Type, Qt::MouseButton) (this=this@entry=0x5643fd359ba0, pos=..., type=QEvent::MouseMove, button=Qt::NoButton) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects/presentwindows/presentwindows.cpp:607
#12 0x00007f12f0faed0c in KWin::PresentWindowsEffect::windowInputMouseEvent(QEvent*) (this=0x5643fd359ba0, e=<optimized out>) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects/presentwindows/presentwindows.cpp:584
#13 0x00007f12f0faada1 in KWin::PresentWindowsEffect::postPaintScreen() (this=0x5643fd359ba0) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects/presentwindows/presentwindows.cpp:257
#14 0x00007f12f42f2aa1 in KWin::EffectsHandlerImpl::postPaintScreen() (this=0x5643fcbbc6b0) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/effects.cpp:401
#15 0x00007f12f42e442e in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, QMatrix4x4 const&, QRect const&) (this=this@entry=0x5643fcaa0260, mask=mask@entry=0x7ffc5c3743a0, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffc5c374388, validRegion=validRegion@entry=0x7ffc5c374390, projection=..., outputGeometry=...) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/scene.cpp:157
#16 0x00007f12d0ef4fa1 in KWin::SceneOpenGL::paint(QRegion, QList<KWin::Toplevel*>) (this=this@entry=0x5643fcaa0260, damage=..., toplevels=...) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/plugins/scenes/opengl/scene_opengl.cpp:702
#17 0x00007f12f42d6a02 in KWin::Compositor::performCompositing() (this=0x5643fc601f00) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/composite.cpp:747
#18 0x00007f12f1d44eeb in QObject::event(QEvent*) (this=0x5643fc601f00, e=<optimized out>) at kernel/qobject.cpp:1269
#19 0x00007f12f2abe3dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5643fc512250, receiver=receiver@entry=0x5643fc601f00, e=e@entry=0x7ffc5c3747e0) at kernel/qapplication.cpp:3723
#20 0x00007f12f2ac5ca4 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc5c374a90, receiver=0x5643fc601f00, e=0x7ffc5c3747e0) at kernel/qapplication.cpp:3482
#21 0x00007f12f1d15768 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5643fc601f00, event=event@entry=0x7ffc5c3747e0) at kernel/qcoreapplication.cpp:1024
#22 0x00007f12f1d6dc7e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffc5c3747e0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
#23 0x00007f12f1d6dc7e in QTimerInfoList::activateTimers() (this=this@entry=0x5643fc57abf0) at kernel/qtimerinfo_unix.cpp:643
#24 0x00007f12f1d6b05c in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x5643fc57ab50) at kernel/qeventdispatcher_unix.cpp:249
#25 0x00007f12f1d6be32 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:514
#26 0x00007f12dca1aefd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68
#27 0x00007f12f1d1379a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc5c3749a0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#28 0x00007f12f1d1c844 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1297
#29 0x00007f12f4a3258b in kdemain(int, char**) (argc=<optimized out>, argv=0x7ffc5c374c28) at /usr/src/debug/kwin5-5.12.8-lp151.4.1.x86_64/main_x11.cpp:468
#30 0x00007f12f469234a in __libc_start_main (main=0x5643fb7d37d0 <main>, argc=3, argv=0x7ffc5c374c28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc5c374c18) at ../csu/libc-start.c:308
#31 0x00005643fb7d380a in _start () at ../sysdeps/x86_64/start.S:120
[Inferior 1 (process 2783) detached]

Reported using DrKonqi
Comment 1 Iiari 2020-08-09 04:36:41 UTC
Since 5.19.3 dropped on Manjaro, I too am getting crashes with PresentWindows activated by hot edges.  Usually it's when activating and then rapidly retriggering the same edge to deactivate the effect.  Upon deactivating PresentWindows, I get no animation, return to the app to find the compositor has crashed.  Sometimes it starts itself, sometimes I need to manually turn it back on.
Comment 2 Nate Graham 2020-09-14 20:32:43 UTC

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