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

            Bug ID: 521937
           Summary: kwin_wayland SIGSEGV in
                    KWin::RenderDevice::~RenderDevice during DRM
                    initialization failure fallback
    Classification: Plasma
           Product: kwin
      Version First 6.7.0
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: platform-drm
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Created attachment 193496
  --> https://bugs.kde.org/attachment.cgi?id=193496&action=edit
kinfo and coredumpctl info kwin_wayland

SUMMARY
On an ASUS ROG Strix laptop (ASUS ROG Strix G16 G614JV (2023)) with an
asymmetric hybrid GPU layout where the NVIDIA dGPU initializes first as card0
and Intel iGPU as card1, attempting to force KWin to use card1 (via
KWIN_DRM_DEVICES env variable) causes a DRM initialization failure as expected.
However, during the fallback/cleanup routine, kwin_wayland crashes with a
Segmentation Fault (SIGSEGV) inside the RenderDevice destructor.

STEPS TO REPRODUCE
1. Have a hybrid GPU laptop where NVIDIA is registered as /dev/dri/card0 and
Intel as /dev/dri/card1.
2. Attempt to force the Plasma Login Manager or user session compositor to use
the iGPU by setting:
   export KWIN_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0
3. Start the Wayland session.

OBSERVED RESULT
KWin correctly fails to open the mismatching DRM nodes, but instead of exiting
gracefully to a TTY or login screen, it crashes immediately due to a Null
Pointer or invalid memory access during memory deallocation in the destructor.

EXPECTED RESULT
KWin should handle the initialization failure gracefully and exit without a
SIGSEGV.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux (Kernel 7.0.12-zen)
KDE Plasma Version: 6.7.0-3
KDE Frameworks Version: 6.27.0
Qt Version: 6.11.1

ADDITIONAL INFORMATION
Here is the stack trace captured via coredumpctl:

Stack trace of thread 1042:
#0  0x00007efc8fc9a29c n/a (libc.so.6 + 0x9a29c)
#1  0x00007efc8fc3e7d0 raise (libc.so.6 + 0x3e7d0)
#2  0x00007efc939a801d _ZN6KCrash19defaultCrashHandlerEi (libKF6Crash.so.6 +
0x801d)
#3  0x00007efc8fc3e8f0 n/a (libc.so.6 + 0x3e8f0)
#4  0x00007efc861d1120 n/a (n/a + 0x0)
#5  0x00007efc931f305a _ZN4KWin12RenderDeviceD2Ev (libkwin.so.6 + 0x1f305a)

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

Reply via email to