Bug 484042

Summary: kwin_wayland crash while display is in standby
Product: [Plasma] kwin Reporter: yamagi
Component: generic-crashAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: xaver.hugl
Priority: NOR    
Version: 6.0.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Full backtrace of the crash

Description yamagi 2024-03-20 08:41:45 UTC
Created attachment 167495 [details]
Full backtrace of the crash

I don't really have a repoducer for this. I think I have seen this one twice on two different system, both with kwin_wayland 6.0.2. I haven't seen it with 6.0.1, however that may have been luck. In both cases the session was idle and the displays in standby. 

* At the first crash the session was idle for several hours.
* At the second crash for several minutes.

Several programs were running in the background:

* Plasma itself.
* Firefox
* Thunderbird
* Alacritty
* rdesktop (only at the first crash)

This backtrace is from the second crash. Thread 1 is given here, the full backtrace attached as a file. It's too long to paste it inline:

```
Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007399d39396bb in std::__atomic_base<QThreadData*>::load (__m=std::memory_order_acquire, this=0x5c)
    at /usr/include/c++/13.2.1/atomic:576
576           load(memory_order __m = memory_order_seq_cst) const noexcept
[Current thread is 1 (Thread 0x7399ce4b5a00 (LWP 1168))]

Thread 1 (Thread 0x7399ce4b5a00 (LWP 1168)):
#0  0x00007399d39396bb in std::__atomic_base<QThreadData*>::load (__m=std::memory_order_acquire, this=0x5c) at /usr/include/c++/13.2.1/atomic:576
#1  std::atomic<QThreadData*>::load (__m=std::memory_order_acquire, this=0x5c) at /usr/include/c++/13.2.1/atomic:577
#2  QAtomicOps<QThreadData*>::loadAcquire<QThreadData*> (_q_value=<error reading variable: Cannot access memory at address 0x5c>, _q_value=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/thread/qatomic_cxx11.h:213
#3  QBasicAtomicPointer<QThreadData>::loadAcquire (this=0x5c, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/thread/qbasicatomic.h:179
#4  QCoreApplication::notifyInternal2 (receiver=0x602220606c10, event=0x7ffefe7c9680) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1117
#5  0x00007399d3a9efa6 in QCoreApplication::sendEvent (event=0x7ffefe7c9680, receiver=<optimized out>) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qcoreapplication.cpp:1539
#6  QTimerInfoList::activateTimers (this=this@entry=0x60221e166868) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qtimerinfo_unix.cpp:507
#7  0x00007399d3a9f9d1 in QEventDispatcherUNIXPrivate::activateTimers (this=0x60221e166790) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_unix.cpp:212
#8  QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventdispatcher_unix.cpp:481
#9  0x00007399d43b26e2 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/gui/platform/unix/qunixeventdispatcher.cpp:27
#10 0x00007399d3943d6e in QEventLoop::processEvents (flags=..., this=0x7ffefe7c9870) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:100
#11 QEventLoop::exec (this=0x7ffefe7c9870, flags=...) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/kernel/qeventloop.cpp:182
#12 0x00007399d393c2b8 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/corelib/global/qflags.h:74
#13 0x00007399d48f0f0a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.2/src/widgets/kernel/qapplication.cpp:2574
#14 0x000060221df6edee in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.0.2/src/main_wayland.cpp:609
```

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux with 6.0.2
KDE Plasma Version: 6.0.2
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Comment 1 Zamundaaa 2024-09-19 21:30:27 UTC

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