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

            Bug ID: 513786
           Summary: lasmashell aborts on monitor wake-up (DPMS):
                    "KWaylandBackend: no output modes available anymore"
    Classification: Plasma
           Product: plasmashell
      Version First 6.5.4
       Reported In:
          Platform: unspecified
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: generic-crash
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: 1.0

Application: plasmashell (6.5.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.21.0
Operating System: Linux 6.18.2-1-default x86_64
Windowing System: Wayland
Distribution: "openSUSE Tumbleweed"
DrKonqi: 6.5.4 [CoredumpBackend]

-- Information about the crash:
SUMMARY
Plasmashell consistently crashes (SIGABRT) when the monitor wakes up from power
save mode (DPMS). This occurs both after the system idle timeout (45 min) and
shortly after locking the screen when the monitor turns off.

Upon waking the monitor, plasmashell aborts immediately with a fatal error
pointing to missing output modes.

STEPS TO REPRODUCE
1. Start a Plasma Wayland session with NVIDIA proprietary drivers.
2. Wait for the monitor to enter power save mode (DPMS Off), or lock the screen
and wait for turn-off.
3. Wake up the monitor (move mouse/press key).

OBSERVED RESULT
Plasmashell crashes. The backtrace shows a fatal assertion in KWaylandBackend.

FATAL ERROR MESSAGE (from log):
"KWaylandBackend: no output modes available anymore, this seems like a
compositor bug"

STACK TRACE SNIPPET:
#12 QMessageLogger::fatal (msg="KWaylandBackend: no output modes available
anymore, this seems like a compositor bug")
#13 KScreen::WaylandOutputDevice::kde_output_device_v2_mode
...
#25 QtWayland::kde_output_device_mode_v2::handle_removed

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed
KDE Plasma Version: 6.5.4 (Dev/Unstable build detected from logs)
Qt Version: 6.10.1
Graphics Platform: Wayland
GPU: NVIDIA GeForce RTX 3080
NVIDIA Driver: 580.119.02

ADDITIONAL INFORMATION
It appears that upon waking up, the driver momentarily reports an empty list of
modes for the output, causing the KWayland backend to trigger a fatal
assertion.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#6  0x00007f1597a9de33 in __pthread_kill_internal (threadid=<optimized out>,
signo=6) at pthread_kill.c:89
#7  0x00007f1597a427b6 in __GI_raise (sig=sig@entry=6) at
../sysdeps/posix/raise.c:26
#8  0x00007f1597a2934b in __GI_abort () at abort.c:77
#9  0x00007f15982f668b in qAbort () at
/usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qassert.cpp:46
#10 qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=<optimized
out>, message=...) at
/usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qlogging.cpp:2166
[...]
#12 0x00007f15982f722f in QMessageLogger::fatal
(this=this@entry=0x7ffe1bac37c0, msg=msg@entry=0x7f157003d6d0 "KWaylandBackend:
no output modes available anymore, this seems like a compositor bug") at
/usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qlogging.cpp:901
#13 0x00007f157002de48 in operator() (__closure=<optimized out>) at
/usr/src/debug/libkscreen-6.5.4/backends/kwayland/waylandoutputdevice.cpp:73
#14 operator() (__closure=<optimized out>) at
/usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#18
QtPrivate::QCallableObject<KScreen::WaylandOutputDevice::kde_output_device_v2_mode(kde_output_device_mode_v2*)::<lambda()>,
QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *,
void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized
out>, a=<optimized out>, ret=<optimized out>) at
/usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#19 0x00007f1598435b20 in QtPrivate::QSlotObjectBase::call
(this=0x55a8863b6540, r=<optimized out>, a=0x7ffe1bac3878) at
/usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#20 doActivate<false> (sender=0x55a88639cd80, signal_index=3,
argv=0x7ffe1bac3878) at
/usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
#21 0x00007f159a407c92 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#22 0x00007f159a404a26 in ffi_call_int (cif=cif@entry=0x7ffe1bac3a80,
fn=fn@entry=0x7f157002e1c0
<QtWayland::kde_output_device_mode_v2::handle_removed(void*,
kde_output_device_mode_v2*)>, rvalue=<optimized out>, rvalue@entry=0x0,
avalue=avalue@entry=0x7ffe1bac3b50, closure=closure@entry=0x0) at
../src/x86/ffi64.c:676
#23 0x00007f159a4072ae in ffi_call (cif=cif@entry=0x7ffe1bac3a80,
fn=0x7f157002e1c0 <QtWayland::kde_output_device_mode_v2::handle_removed(void*,
kde_output_device_mode_v2*)>, rvalue=rvalue@entry=0x0,
avalue=avalue@entry=0x7ffe1bac3b50) at ../src/x86/ffi64.c:713
#24 0x00007f159b1947f3 in wl_closure_invoke
(closure=closure@entry=0x7f158800ca40, target=<optimized out>,
target@entry=0x7f158800bc00, opcode=opcode@entry=3, data=<optimized out>,
flags=1) at ../src/connection.c:1241


Reported using DrKonqi

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

Reply via email to