Bug 431863

Summary: kwin crash+restart when alt+tab between windows on different desktops
Product: [Plasma] kwin Reporter: Josh Rich <joshua.rich>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate
Priority: NOR Keywords: drkonqi
Version: 5.20.5   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Josh Rich 2021-01-21 00:18:57 UTC
Application: kwin_x11 (5.20.5)

Qt Version: 5.15.2
Frameworks Version: 5.78.0
Operating System: Linux 5.10.8-200.fc33.x86_64 x86_64
Windowing system: X11
Distribution: Fedora 33 (KDE Plasma)

-- Information about the crash:
- What I was doing when the application crashed:
Alt+Tab switched between Zoom and Konsole windows (on different desktops).  When I went to select text in Konsole, the GUI locked up briefly after which kwin crashed and restarted.  After that, I can Alt+Tab and switch between windows (as well as selecting text) without issues.  

I can see under Compositor in System Settings that OpenGL compositing is disabled at this point (was enabled before the crash).

The crash does not seem to be reproducible.

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

[KCrash Handler]
#3  0x00007f9e53ea29d5 in raise () at /lib64/libc.so.6
#4  0x00007f9e53e8b8a4 in abort () at /lib64/libc.so.6
#5  0x00007f9e542f548f in qt_message_output(QtMsgType, QMessageLogContext const&, QString const&) [clone .cold] () at /lib64/libQt5Core.so.5
#6  0x00007f9e38c29596 in QtPrivate::QFunctorSlotObject<KWin::X11StandalonePlatform::createOpenGLSafePoint(KWin::Platform::OpenGLSafePoint)::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [clone .lto_priv.0] () at /usr/lib64/qt5/plugins/org.kde.kwin.platforms/KWinX11Platform.so
#7  0x00007f9e544f5386 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#8  0x00007f9e544f91fe in QTimer::timeout(QTimer::QPrivateSignal) () at /lib64/libQt5Core.so.5
#9  0x00007f9e544edc7f in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#10 0x00007f9e54f5aec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#11 0x00007f9e544c5bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#12 0x00007f9e54511a03 in QTimerInfoList::activateTimers() () at /lib64/libQt5Core.so.5
#13 0x00007f9e5450fe6f in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#14 0x00007f9e544c457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#15 0x00007f9e54329b67 in QThread::exec() () at /lib64/libQt5Core.so.5
#16 0x00007f9e5432adf0 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#17 0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#18 0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f9d448c6640 (LWP 262631) "QSGRenderThread"):
#1  0x00007f9e543309bb in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /lib64/libQt5Core.so.5
#2  0x00007f9e530eac65 in QSGRenderThread::run() () at /lib64/libQt5Quick.so.5
#3  0x00007f9e5432adf0 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f9e15efd640 (LWP 5593) "CPMMListener"):
#1  0x00007f9e39c15ee1 in  () at /lib64/libnvidia-glcore.so.460.32.03
#2  0x00007f9e39c139ca in  () at /lib64/libnvidia-glcore.so.460.32.03
#3  0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f9e18924640 (LWP 3122) "QQmlThread"):
#1  0x00007f9e5450e9c9 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /lib64/libQt5Core.so.5
#2  0x00007f9e5450fd43 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#3  0x00007f9e544c457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f9e54329b67 in QThread::exec() () at /lib64/libQt5Core.so.5
#5  0x00007f9e52d705ec in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#6  0x00007f9e5432adf0 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f9e35a49640 (LWP 2342) "kwin_x11"):
#1  0x00007f9e53c55cec in QTWTF::TCMalloc_PageHeap::scavengerThread() () at /lib64/libQt5Script.so.5
#2  0x00007f9e53c55d1f in  () at /lib64/libQt5Script.so.5
#3  0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f9e36c8a640 (LWP 2311) "QQmlThread"):
#1  0x00007ffcd9b839e7 in clock_gettime ()
#2  0x00007f9e53f2d715 in clock_gettime@GLIBC_2.2.5 () at /lib64/libc.so.6
#3  0x00007f9e54511f95 in qt_gettime() () at /lib64/libQt5Core.so.5
#4  0x00007f9e545108dd in QTimerInfoList::updateCurrentTime() () at /lib64/libQt5Core.so.5
#5  0x00007f9e54510d29 in QTimerInfoList::timerWait(timespec&) () at /lib64/libQt5Core.so.5
#6  0x00007f9e5450ff34 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#7  0x00007f9e544c457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#8  0x00007f9e54329b67 in QThread::exec() () at /lib64/libQt5Core.so.5
#9  0x00007f9e52d705ec in QQmlThreadPrivate::run() () at /lib64/libQt5Qml.so.5
#10 0x00007f9e5432adf0 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#11 0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#12 0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f9e3869c640 (LWP 2287) "QDBusConnection"):
#1  0x00007f9e5450e9c9 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () at /lib64/libQt5Core.so.5
#2  0x00007f9e5450fd43 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#3  0x00007f9e544c457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f9e54329b67 in QThread::exec() () at /lib64/libQt5Core.so.5
#5  0x00007f9e555a910b in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#6  0x00007f9e5432adf0 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007f9e537b13f9 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f9e53f66903 in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f9e4e36d0c0 (LWP 2256) "kwin_x11"):
#1  0x00007f9e556ce730 in KCrash::startProcess(int, char const**, bool) [clone .constprop.0] () at /lib64/libKF5Crash.so.5
#2  0x00007f9e556cf048 in KCrash::defaultCrashHandler(int) () at /lib64/libKF5Crash.so.5
#3  0x00007f9e53ea2a60 in <signal handler called> () at /lib64/libc.so.6
#4  0x0000000000000111 in  ()
#5  0x00007f9e38af1564 in KWin::SceneOpenGL::createScene(QObject*) () at /usr/lib64/qt5/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#6  0x00007f9e38b0041d in KWin::OpenGLFactory::create(QObject*) const () at /usr/lib64/qt5/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#7  0x00007f9e558259e3 in KWin::Compositor::setupStart() [clone .part.0] () at /lib64/libkwin.so.5
#8  0x00007f9e5582903e in KWin::X11Compositor::start() () at /lib64/libkwin.so.5
#9  0x00007f9e55826e57 in KWin::Compositor::reinitialize() () at /lib64/libkwin.so.5
#10 0x00007f9e544f5386 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#11 0x00007f9e544edd1e in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#12 0x00007f9e54f5aec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#13 0x00007f9e544c5bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#14 0x00007f9e544c88c7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#15 0x00007f9e5450fafe in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#16 0x00007f9e40d4b852 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5XcbQpa.so.5
#17 0x00007f9e544c457b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#18 0x00007f9e544cc1b4 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#19 0x00005579edf69aff in main ()
[Inferior 1 (process 2256) detached]

The reporter indicates this bug may be a duplicate of or related to bug 431328.

Possible duplicates by query: bug 431795, bug 431783, bug 431773, bug 431564, bug 431529.

Reported using DrKonqi
Comment 1 Vlad Zahorodnii 2021-01-21 09:02:10 UTC
It sounds like a freeze occurred in OpenGL initialization. This might be a driver issue.
Comment 2 Nate Graham 2021-02-09 17:48:02 UTC

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