https://bugs.kde.org/show_bug.cgi?id=507528

            Bug ID: 507528
           Summary: Task switcher stopped working after GPU graphics reset
    Classification: Plasma
           Product: kwin
      Version First 6.3.5
       Reported In:
          Platform: Debian testing
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: tabbox
          Assignee: kwin-bugs-n...@kde.org
          Reporter: bugs.kde....@zetafleet.com
  Target Milestone: ---

SUMMARY
After experiencing an amdgpu crash in ring vcn_unified_0, kwin would no longer
display the task switcher and instead kept notifying that a graphics reset had
occurred every time Alt-Tab was pressed.

STEPS TO REPRODUCE
1. Experience a very sad GPU crash
2. Press Alt-Tab

OBSERVED RESULT
Task manager appears normally.

EXPECTED RESULT
When Alt-Tab is pressed, a translucent roundrect with no content appears (this
is an abnormal task manager appearance), and a notification attributed to KWin
appears stating that there was a graphics reset every time the Tab key is
pressed while the task manager is active.

SOFTWARE/OS VERSIONS
Operating System: Debian GNU/Linux 13
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Graphics Platform: Wayland

ADDITIONAL INFORMATION
Task switcher style is set to “Large icons”.

This was an unusual GPU crash. Usually they occur in ring gfx_0.0.0 and do not
cause user-space problems. In this case, plasmashell, Firefox video process,
and an Electron process all crashed, and the task manager stopped working.

Logs immediately after the GPU reset:

```
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
plasmashell[2608]: amdgpu: The CS has cancelled because the context is lost.
This context is innocent.
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
[… segfaults …]
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_scene_opengl: A graphics reset not
attributable to the current GL context occurred.
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
[… repeats …]
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_wayland_drm: Checking test buffer failed!
kwin_wayland_wrapper[2377]: BlurConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: KscreenConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: MagicLampConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: OverviewConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: SlideConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: SlidingPopupsConfig::instance called after the
first use - ignoring
kwin_wayland_wrapper[2377]: WindowViewConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: ZoomConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: kwin_scene_opengl: Could not delete render time
query because no context is current
kwin_wayland_wrapper[2377]: kwin_wayland_drm: Checking test buffer failed!
```

Logs when trying to use task switcher:

```
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in
glDrawBuffers(unsupported buffer GL_BACK_LEFT)
kwin_wayland_wrapper[2377]: kwin_scene_opengl: A graphics reset not
attributable to the current GL context occurred.
kwin_wayland_wrapper[2377]: kwin_wayland_drm: Checking test buffer failed!
kwin_wayland_wrapper[2377]: BlurConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: KscreenConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: MagicLampConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: OverviewConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: SlideConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: SlidingPopupsConfig::instance called after the
first use - ignoring
kwin_wayland_wrapper[2377]: WindowViewConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: ZoomConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: kwin_scene_opengl: Could not delete render time
query because no context is current
kwin_wayland_wrapper[2377]: kwin_scene_opengl: Could not delete render time
query because no context is current
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
[… repeats …]
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_CONTEXT_LOST in context
lost
kwin_wayland_wrapper[2377]: kwin_scene_opengl: A graphics reset not
attributable to the current GL context occurred.
kwin_wayland_wrapper[2377]: kwin_wayland_drm: Checking test buffer failed!
kwin_wayland_wrapper[2377]: BlurConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: KscreenConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: MagicLampConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: OverviewConfig::instance called after the first use
- ignoring
kwin_wayland_wrapper[2377]: SlideConfig::instance called after the first use -
ignoring
kwin_wayland_wrapper[2377]: SlidingPopupsConfig::instance called after the
first use - ignoring
kwin_wayland_wrapper[2377]: WindowViewConfig::instance called after the first
use - ignoring
kwin_wayland_wrapper[2377]: ZoomConfig::instance called after the first use -
ignoring
plasmashell[2085825]:
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/delegates/DelegatePopup.qml:148:17:
QML Body: Binding loop detected for property "width"
kwin_wayland_wrapper[2377]: kwin_scene_opengl: Could not delete render time
query because no context is current
kwin_wayland_wrapper[2377]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in
glDrawBuffers(unsupported buffer GL_BACK_LEFT)
```

It seems unlikely that I will be able to easily reproduce this. I have updated
to 6.3.6 in the meantime, did not see any thing in the changelog that would
suggest this is already fixed, but maybe I missed something. Let me know if
there is any other information I might be able to provide. Thanks!

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to