Application: kwin_x11 (5.6.3) Qt Version: 5.6.0 Frameworks Version: 5.21.0 Operating System: Linux 4.1.20-11-default x86_64 Distribution: "openSUSE Leap 42.1 (x86_64)" -- Information about the crash: As soon as I or the system turns of a screen Kwin seams to crash. This always happens when all active screens are turned off. The settings in X doesn't seam to change any thing. This crash happens when X is setup in a way that screens can be plug-and-play. But even when you force X to have a window size it also crashes. The crash can be reproduced every time. -- Backtrace: Application: KWin (kwin_x11), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f5661616840 (LWP 30104))] Thread 6 (Thread 0x7f5646fac700 (LWP 30107)): #0 0x00007f5660f95bbd in poll () at /lib64/libc.so.6 #1 0x00007f565e8c8422 in () at /usr/lib64/libxcb.so.1 #2 0x00007f565e8ca00f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1 #3 0x00007f5647e82979 in () at /usr/lib64/libQt5XcbQpa.so.5 #4 0x00007f565eb8c079 in () at /usr/lib64/libQt5Core.so.5 #5 0x00007f56605b00a4 in start_thread () at /lib64/libpthread.so.0 #6 0x00007f5660f9dfed in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7f5644ecc700 (LWP 30111)): #0 0x00007ffe484b6b26 in clock_gettime () #1 0x00007f5660faac3d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f565ec36eb6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f565ed9ba59 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f565ed9ae63 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timespec*) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f565ed9b5f7 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f565ed4b04b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f565eb875da in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007f5657bd4095 in () at /usr/lib64/libQt5DBus.so.5 #9 0x00007f565eb8c079 in () at /usr/lib64/libQt5Core.so.5 #10 0x00007f56605b00a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f5660f9dfed in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7f5642acb700 (LWP 30117)): #0 0x00007ffe484b6b26 in clock_gettime () #1 0x00007f5660faac3d in clock_gettime () at /lib64/libc.so.6 #2 0x00007f565ec36eb6 in () at /usr/lib64/libQt5Core.so.5 #3 0x00007f565ed9ba59 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5 #4 0x00007f565ed9bfd5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5 #5 0x00007f565ed9b65a in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #6 0x00007f565ed4b04b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f565eb875da in QThread::exec() () at /usr/lib64/libQt5Core.so.5 #8 0x00007f5658c4d4d8 in () at /usr/lib64/libQt5Qml.so.5 #9 0x00007f565eb8c079 in () at /usr/lib64/libQt5Core.so.5 #10 0x00007f56605b00a4 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f5660f9dfed in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f563f234700 (LWP 30120)): #0 0x00007f56605b403f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f565db0297b in () at /usr/lib64/libQt5Script.so.5 #2 0x00007f565db029a9 in () at /usr/lib64/libQt5Script.so.5 #3 0x00007f56605b00a4 in start_thread () at /lib64/libpthread.so.0 #4 0x00007f5660f9dfed in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f55b689f700 (LWP 30121)): [KCrash Handler] #6 0x00007f565ed7a029 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () at /usr/lib64/libQt5Core.so.5 #7 0x00007f565f2d9f84 in QOpenGLContext::setScreen(QScreen*) () at /usr/lib64/libQt5Gui.so.5 #8 0x00007f565ed781f6 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5 #9 0x00007f565fa5160c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #10 0x00007f565fa55a22 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #11 0x00007f565ed4d005 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #12 0x00007f565ed4edea in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5 #13 0x00007f565ed9b584 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #14 0x00007f5659321b7b in () at /usr/lib64/libQt5Quick.so.5 #15 0x00007f565eb8c079 in () at /usr/lib64/libQt5Core.so.5 #16 0x00007f56605b00a4 in start_thread () at /lib64/libpthread.so.0 #17 0x00007f5660f9dfed in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f5661616840 (LWP 30104)): #0 0x00007f56605b403f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f565eb8cceb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5 #2 0x00007f5659322f2a in () at /usr/lib64/libQt5Quick.so.5 #3 0x00007f5659323772 in () at /usr/lib64/libQt5Quick.so.5 #4 0x00007f5659356313 in QQuickWindow::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5 #5 0x00007f565fa5160c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #6 0x00007f565fa55a22 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #7 0x00007f565ed4d005 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #8 0x00007f565f2aafae in QWindowPrivate::deliverUpdateRequest() () at /usr/lib64/libQt5Gui.so.5 #9 0x00007f565f2ab3b9 in QWindow::event(QEvent*) () at /usr/lib64/libQt5Gui.so.5 #10 0x00007f5659356335 in QQuickWindow::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5 #11 0x00007f565fa5160c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #12 0x00007f565fa55a22 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5 #13 0x00007f565ed4d005 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5 #14 0x00007f565ed9cd4e in QTimerInfoList::activateTimers() () at /usr/lib64/libQt5Core.so.5 #15 0x00007f565ed9b698 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #16 0x00007f5647ee332d in () at /usr/lib64/libQt5XcbQpa.so.5 #17 0x00007f565ed4b04b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5 #18 0x00007f565ed52f56 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5 #19 0x00007f5661266d6a in kdemain () at /usr/lib64/libkdeinit5_kwin_x11.so #20 0x00007f5660edab05 in __libc_start_main () at /lib64/libc.so.6 #21 0x00000000004007fe in _start () Reported using DrKonqi
Well, now that the deliberate global QScreen crasher is gone, it can no longer stash the defects in QtQuick... => Upstream, compare bug #361439 or rather bug #361774 which is even more similar. Unfortunately we don't have debug values, but I guess that QOpenGLContext is dangeling/null in (rather than the dptr or it's screen member) since that's why QScreen was broken itfp... and to a certain degree we're likely just back on QTBUG-39996. The problem (here) would be that a signal causes ::setScreen on a dying GL context which largely seems to be the one of the QtQuick scene. Possibe QtQuick users in KWin (core) are - tabboxes except coverflow/slipswitch - the virtual desktop indicator - the buttons in presentwindows (close) and desktopgrid (+/-) effects - all aurorae driven decorations - things i might have forgotten.
https://bugreports.qt.io/browse/QTBUG-42803
*** Bug 362754 has been marked as a duplicate of this bug. ***
*** Bug 363108 has been marked as a duplicate of this bug. ***