Bug 462376 - KWin crashes on alt-tab
Summary: KWin crashes on alt-tab
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: tabbox (other bugs)
Version First Reported In: 5.26.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-29 00:33 UTC by Colleen Murphy
Modified: 2022-12-02 19:43 UTC (History)
1 user (show)

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


Attachments
output of `qdbus6 org.kde.KWin /KWin supportInformation` (6.81 KB, text/plain)
2022-11-29 00:33 UTC, Colleen Murphy
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Colleen Murphy 2022-11-29 00:33:25 UTC
Created attachment 154126 [details]
output of `qdbus6 org.kde.KWin /KWin 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
1. Have a few windows open and alt-tab between them a few times.

OBSERVED RESULT

Everything freezes for a moment, and the Dr Konqi message appears saying "KWin closed unexpectedly." Clicking the "report bug" button doesn't do anything.

EXPECTED RESULT

Alt-tab should work without crashing.

SOFTWARE/OS VERSIONS
Windows: n/a
macOS: n/a
Linux/KDE Plasma: opensuse Tumbleweed 20221122
(available in About System)
KDE Plasma Version: 5.26.3
KDE Frameworks Version: 5.100.0
Qt Version: 5.15.7

ADDITIONAL INFORMATION

Might be related to https://bugs.kde.org/show_bug.cgi?id=461338 or a duplicate of the closed bug https://bugs.kde.org/show_bug.cgi?id=461573, but the crash in the second one was attributed to https://bugs.kde.org/show_bug.cgi?id=458865 which should have been fixed in 5.26.2.

qdbus output attached.

crash backtrace below:

Thread 1 "kwin_x11" received signal SIGSEGV, Segmentation fault.
0x00007f52dbdc22d0 in QSGTexture::setFiltering(QSGTexture::Filtering) () from /lib64/libQt5Quick.so.5

Thread 6 (Thread 0x7f52a80e46c0 (LWP 92179) "CPMMListener"):
#0  0x00007f52d990e73c in select () at /lib64/libc.so.6
#1  0x00007f52cdbdf321 in  () at /lib64/libnvidia-glcore.so.470.161.03
#2  0x00007f52cdbdce4d in  () at /lib64/libnvidia-glcore.so.470.161.03
#3  0x00007f52d989398d in start_thread () at /lib64/libc.so.6
#4  0x00007f52d991a380 in clone3 () at /lib64/libc.so.6

Thread 5 (Thread 0x7f52c53d16c0 (LWP 92178) "vsync event mon"):
#0  0x00007f52d990bb7f in poll () at /lib64/libc.so.6
#1  0x00007f52d866adbe in  () at /lib64/libglib-2.0.so.0
#2  0x00007f52d866aedc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f52dab33b56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f52daadab9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f52da8f4c47 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f52da8f5e3d in  () at /lib64/libQt5Core.so.5
#7  0x00007f52d989398d in start_thread () at /lib64/libc.so.6
#8  0x00007f52d991a380 in clone3 () at /lib64/libc.so.6

Thread 4 (Thread 0x7f52c71a06c0 (LWP 92176) "QQmlThread"):
#0  0x00007f52d990bb7f in poll () at /lib64/libc.so.6
#1  0x00007f52d866adbe in  () at /lib64/libglib-2.0.so.0
#2  0x00007f52d866aedc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f52dab33b56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f52daadab9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f52da8f4c47 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f52db93ef05 in  () at /lib64/libQt5Qml.so.5
#7  0x00007f52da8f5e3d in  () at /lib64/libQt5Core.so.5
#8  0x00007f52d989398d in start_thread () at /lib64/libc.so.6
#9  0x00007f52d991a380 in clone3 () at /lib64/libc.so.6

Thread 3 (Thread 0x7f52d49f56c0 (LWP 92174) "QXcbEventQueue"):
#0  0x00007f52d990bb7f in poll () at /lib64/libc.so.6
#1  0x00007f52db5458ea in  () at /lib64/libxcb.so.1
#2  0x00007f52db5471cc in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007f52d5519130 in  () at /lib64/libQt5XcbQpa.so.5
#4  0x00007f52da8f5e3d in  () at /lib64/libQt5Core.so.5
#5  0x00007f52d989398d in start_thread () at /lib64/libc.so.6
#6  0x00007f52d991a380 in clone3 () at /lib64/libc.so.6

Thread 2 (Thread 0x7f52d51f66c0 (LWP 92173) "QDBusConnection"):
#0  0x00007f52d990bb7f in poll () at /lib64/libc.so.6
#1  0x00007f52d866adbe in  () at /lib64/libglib-2.0.so.0
#2  0x00007f52d866aedc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f52dab33b56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007f52daadab9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007f52da8f4c47 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007f52d9d86277 in  () at /lib64/libQt5DBus.so.5
#7  0x00007f52da8f5e3d in  () at /lib64/libQt5Core.so.5
#8  0x00007f52d989398d in start_thread () at /lib64/libc.so.6
#9  0x00007f52d991a380 in clone3 () at /lib64/libc.so.6

Thread 1 (Thread 0x7f52d7492e40 (LWP 92172) "kwin_x11"):
#0  0x00007f52dbdc22d0 in QSGTexture::setFiltering(QSGTexture::Filtering) () at /lib64/libQt5Quick.so.5
#1  0x00007f52dc486fb6 in KWin::ThumbnailTextureProvider::setTexture(std::shared_ptr<KWin::GLTexture> const&) (nativeTexture=std::shared_ptr<KWin::GLTexture> (use count 2, weak count 0) = {...}, this=0x5624fc32b240) at /usr/include/c++/12/bits/unique_ptr.h:191
#2  KWin::WindowThumbnailItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x5624fc31cec0, oldNode=0x0) at /usr/src/debug/kwin-5.26.3/src/scripting/windowthumbnailitem.cpp:227
#3  0x00007f52dbe94a18 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () at /lib64/libQt5Quick.so.5
#4  0x00007f52dbe9501b in QQuickWindowPrivate::updateDirtyNodes() () at /lib64/libQt5Quick.so.5
#5  0x00007f52dbe96b8d in QQuickWindowPrivate::syncSceneGraph() () at /lib64/libQt5Quick.so.5
#6  0x00007f52dbe5153d in  () at /lib64/libQt5Quick.so.5
#7  0x00007f52dbe52478 in  () at /lib64/libQt5Quick.so.5
#8  0x00007f52daf87a15 in QWindow::event(QEvent*) () at /lib64/libQt5Gui.so.5
#9  0x00007f52d9fa53fe in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#10 0x00007f52daadc128 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#11 0x00007f52daf7cd2d in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () at /lib64/libQt5Gui.so.5
#12 0x00007f52daf4f37c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#13 0x00007f52d551a0fa in  () at /lib64/libQt5XcbQpa.so.5
#14 0x00007f52d866aa90 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#15 0x00007f52d866ae48 in  () at /lib64/libglib-2.0.so.0
#16 0x00007f52d866aedc in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#17 0x00007f52dab33b56 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#18 0x00007f52daadab9b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#19 0x00007f52daae2d06 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#20 0x00005624f9fc7265 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.26.3/src/main_x11.cpp:407
A debugging session is active.

        Inferior 1 [process 92172] will be detached.

Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (process 92172) detached]
Comment 1 Nate Graham 2022-11-29 18:36:54 UTC
Graphics-related crash:

#0  0x00007f52dbdc22d0 in QSGTexture::setFiltering(QSGTexture::Filtering) () at /lib64/libQt5Quick.so.5
#1  0x00007f52dc486fb6 in KWin::ThumbnailTextureProvider::setTexture(std::shared_ptr<KWin::GLTexture> const&) (nativeTexture=std::shared_ptr<KWin::GLTexture> (use count 2, weak count 0) = {...}, this=0x5624fc32b240) at /usr/include/c++/12/bits/unique_ptr.h:191
#2  KWin::WindowThumbnailItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x5624fc31cec0, oldNode=0x0) at /usr/src/debug/kwin-5.26.3/src/scripting/windowthumbnailitem.cpp:227

Did you by any chance install a software update that included a new version of the NVIDIA driver, and forget to reboot afterwards?
Comment 2 Colleen Murphy 2022-11-29 19:09:12 UTC
(In reply to Nate Graham from comment #1)
> Graphics-related crash:
> 
> #0  0x00007f52dbdc22d0 in QSGTexture::setFiltering(QSGTexture::Filtering) ()
> at /lib64/libQt5Quick.so.5
> #1  0x00007f52dc486fb6 in
> KWin::ThumbnailTextureProvider::setTexture(std::shared_ptr<KWin::GLTexture>
> const&) (nativeTexture=std::shared_ptr<KWin::GLTexture> (use count 2, weak
> count 0) = {...}, this=0x5624fc32b240) at
> /usr/include/c++/12/bits/unique_ptr.h:191
> #2  KWin::WindowThumbnailItem::updatePaintNode(QSGNode*,
> QQuickItem::UpdatePaintNodeData*) (this=0x5624fc31cec0, oldNode=0x0) at
> /usr/src/debug/kwin-5.26.3/src/scripting/windowthumbnailitem.cpp:227
> 
> Did you by any chance install a software update that included a new version
> of the NVIDIA driver, and forget to reboot afterwards?

The NVIDIA driver has been updated, but I've rebooted several times since then.
Comment 3 Nate Graham 2022-11-29 21:34:28 UTC
Ok, thanks.
Comment 4 Colleen Murphy 2022-12-02 19:43:50 UTC
I noticed that the same problem happened when I brought the mouse cursor up to the upper left corner of the screen a few times. That corner was set to trigger the "Present Windows - All Desktops" action in the Screen Edges settings. I disabled it, and the problem went away. I reenabled it, and the problem was still fixed, both for the cursor action and the alt-tab action. So maybe some config file needed to be rewritten after an update. This problem is resolved for me.