Bug 484101 - kwin_wayland crashes when user presses Alt+Tab / opens task switcher
Summary: kwin_wayland crashes when user presses Alt+Tab / opens task switcher
Status: RESOLVED DUPLICATE of bug 482663
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-20 20:20 UTC by Cannon Palms
Modified: 2024-03-20 22:29 UTC (History)
2 users (show)

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


Attachments
Output of `qdbus ... supportInformation` (7.26 KB, text/plain)
2024-03-20 20:20 UTC, Cannon Palms
Details
GDB from a crash (76.42 KB, text/plain)
2024-03-20 20:22 UTC, Cannon Palms
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Cannon Palms 2024-03-20 20:20:48 UTC
Created attachment 167520 [details]
Output of `qdbus ... supportInformation`

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
I would really find it difficult to describe the steps to reproduce **my environment**. However, steps to reproduce the bug, assuming the environment is correct:
1. Press alt+tab

OBSERVED RESULT
kwin crashes and all windows are lost (except for Konsole for some reason?? Konsole survives the crash)


EXPECTED RESULT
kwin does not crash. The task switcher appears and focus is given to the appropriate application.


SYSTEM INFORMATION

See attachments. Happy to answer other questions.
Comment 1 Cannon Palms 2024-03-20 20:22:14 UTC
Created attachment 167521 [details]
GDB from a crash

The debugger crashes when KWin crashes. If anyone has a better idea for how to avoid cutting gdb short, I'm all ears.
Comment 2 Nicolas Fella 2024-03-20 20:30:34 UTC
#0  0x00007cc1ff05507f in QSGSoftwareRenderer::render() () at /usr/lib/libQt6Quick.so.6
#1  0x00007cc1ff07cfe2 in ??? () at /usr/lib/libQt6Quick.so.6
#2  0x00007cc1ff02dc9b in QQuickWindowPrivate::renderSceneGraph() () at /usr/lib/libQt6Quick.so.6
#3  0x00007cc1ff0563e5 in ??? () at /usr/lib/libQt6Quick.so.6
#4  0x00007cc1ff056ad1 in ??? () at /usr/lib/libQt6Quick.so.6
#5  0x00007cc1fd7d3599 in QWindow::event(QEvent*) () at /usr/lib/libQt6Gui.so.6
#6  0x00007cc1fe0f438b in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#7  0x00007cc1fd139818 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#8  0x00007cc1fd77dda9 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () at /usr/lib/libQt6Gui.so.6
#9  0x00007cc1fd7da85c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Gui.so.6
#10 0x00007cc1fdc4c3d7 in ??? () at /usr/lib/libQt6Gui.so.6
#11 0x00007cc1fea31298 in ??? () at /usr/lib/libQt6Qml.so.6
#12 0x00007cc1fea46591 in ??? () at /usr/lib/libQt6Qml.so.6
#13 0x00007cc1fea452ea in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () at /usr/lib/libQt6Qml.so.6
#14 0x00007cc1fea43d04 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () at /usr/lib/libQt6Qml.so.6
#15 0x00007cc1fead1217 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib/libQt6Qml.so.6
#16 0x00007cc1fd190ada in ??? () at /usr/lib/libQt6Core.so.6
#17 0x00007cc1ffaec9b3 in KWin::TabBox::TabBox::show() () at /usr/lib/libkwin.so.6
#18 0x00007cc1fd190ca9 in ??? () at /usr/lib/libQt6Core.so.6
#19 0x00007cc1fd198d64 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib/libQt6Core.so.6
#20 0x00007cc1fd17c236 in QObject::event(QEvent*) () at /usr/lib/libQt6Core.so.6
#21 0x00007cc1fe0f438b in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt6Widgets.so.6
#22 0x00007cc1fd139818 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt6Core.so.6
#23 0x00007cc1fd29efa6 in QTimerInfoList::activateTimers() () at /usr/lib/libQt6Core.so.6
#24 0x00007cc1fd29f9d1 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#25 0x00007cc1fdbb26e2 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Gui.so.6
#26 0x00007cc1fd143d6e in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt6Core.so.6
#27 0x00007cc1fd13c2b8 in QCoreApplication::exec() () at /usr/lib/libQt6Core.so.6
#28 0x0000633c36545dee in ??? ()
#29 0x00007cc1fca43cd0 in ??? () at /usr/lib/libc.so.6
#30 0x00007cc1fca43d8a in __libc_start_main () at /usr/lib/libc.so.6
#31 0x0000633c3654c425 in ??? ()
Comment 3 Nicolas Fella 2024-03-20 20:35:03 UTC
Same backtrace as https://bugs.kde.org/show_bug.cgi?id=482663, which suggests you set QT_QUICK_BACKEND=software. Is that the case?
Comment 4 Cannon Palms 2024-03-20 20:58:23 UTC
(In reply to Nicolas Fella from comment #3)
> Same backtrace as https://bugs.kde.org/show_bug.cgi?id=482663, which
> suggests you set QT_QUICK_BACKEND=software. Is that the case?

Negative. I don't see QT_QUICK_BACKEND being set anywhere.
Comment 5 Nicolas Fella 2024-03-20 21:06:20 UTC
Alright. The backtrace still clearly shows that the QtQuick software renderer is used, so maybe it was chosen automatically
Comment 6 Nicolas Fella 2024-03-20 22:29:28 UTC

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