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

            Bug ID: 494044
           Summary: kwin_wayland crashed in
                    Kwin::DrmGpu::presentationClock after Plasma went into
                    an idle state and was resumed
    Classification: Plasma
           Product: kwin
           Version: 6.1.90
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kwin-bugs-n...@kde.org
          Reporter: matt.fagn...@bell.net
  Target Milestone: ---

Application: kwin_wayland (6.1.90)

ApplicationNotResponding [ANR]: false
Qt Version: 6.7.2
Frameworks Version: 6.6.0
Operating System: Linux 6.12.0-0.rc1.17.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Prerelease)"
DrKonqi: 6.1.90 [CoredumpBackend]

-- Information about the crash:
I was using Plasma 6.1.90 on Wayland in the Fedora Rawhide KDE Live image
Fedora-KDE-Live-x86_64-Rawhide-20241002.n.1.iso from
https://koji.fedoraproject.org/koji/buildinfo?buildID=2559225 in a QEMU/KVM VM
in GNOME Boxes with 3D acceleration enabled using the virgl mesa driver and
virtio-gpu kernel driver. I left the system idle for about 5 minutes, and
Plasma in the VM went into an idle state. I moved the mouse to resume the VM.
kwin_wayland crashed in Kwin::DrmGpu::presentationClock. drkonqi appeared. This
is the first crash of this type I've seen. The journal before the crash showed
errors like the following which might indicate a kernel GPU driver problem.

Oct 03 11:23:46 kwin_wayland_wrapper[2147]: waiting got error - 16, slow gpu or
hang?
Oct 03 11:24:02 kwin_wayland_wrapper[2147]: waiting got error - 16, slow gpu or
hang?
Oct 03 11:24:07 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:12 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:17 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:17 kwin_wayland_wrapper[2147]: waiting got error - 16, slow gpu or
hang?
Oct 03 11:24:22 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:27 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:32 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:33 kwin_wayland_wrapper[2147]: waiting got error - 16, slow gpu or
hang?
Oct 03 11:24:38 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:43 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:48 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug
Oct 03 11:24:53 kwin_wayland[2147]: kwin_wayland_drm: Pageflip timed out! This
is a kernel bug

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KWin (kwin_wayland), signal: Segmentation fault


This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) [answered N; input not from
terminal]
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.

warning: Can't open file /memfd:JSGCHeap:QtQml (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:JSVMStack:QtQml (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:JITCode:QtQml (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:kwayland-shared (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:unknown-usage:QtQml (deleted) during
file-backed mapping note processing

warning: Can't open file /memfd:xwayland-shared (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:wayland-shm (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:wayland-cursor (deleted) during file-backed
mapping note processing

warning: Can't open file /memfd:gdk-wayland (deleted) during file-backed
mapping note processing

warning: Can't open file /home/liveuser/.cache/plasma_theme_breeze-dark.kcache
(deleted) during file-backed mapping note processing
[New LWP 2147]
[New LWP 2239]
[New LWP 2234]
[New LWP 2235]
[New LWP 2230]
[New LWP 2237]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
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  0x00007f9dd7280944 in __pthread_kill_implementation () from
/lib64/libc.so.6
[Current thread is 1 (Thread 0x7f9dd9b8bb80 (LWP 2147))]
Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:516: DeprecationWarning:
datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in
a future version. Use timezone-aware objects to represent datetimes in UTC:
datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time =
datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
Python Exception <class 'gdb.error'>: value has been optimized out
Python Exception <class 'gdb.error'>: value has been optimized out
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:533: DeprecationWarning:
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future
version. Use timezone-aware objects to represent datetimes in UTC:
datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x7f9dd9b8bb80 (LWP 2147))]

Thread 6 (Thread 0x7f9db64006c0 (LWP 2237)):
#0  0x00007f9dd7286d72 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007f9dd727ac13 in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007f9dd727ac54 in __syscall_cancel () from /lib64/libc.so.6
#3  0x00007f9dd72f47c6 in ppoll () from /lib64/libc.so.6
#4  0x00007f9dd649ec63 in g_main_context_iterate_unlocked.isra () from
/lib64/libglib-2.0.so.0
#5  0x00007f9dd643fb03 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#6  0x00007f9dd7bd5023 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt6Core.so.6
#7  0x00007f9dd78f3b43 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt6Core.so.6
#8  0x00007f9dd7a07e4f in QThread::exec() () from /lib64/libQt6Core.so.6
#9  0x00007f9dd7aa4626 in QThreadPrivate::start(void*) () from
/lib64/libQt6Core.so.6
#10 0x00007f9dd727eae7 in start_thread () from /lib64/libc.so.6
#11 0x00007f9dd730179c in __clone3 () from /lib64/libc.so.6

Thread 5 (Thread 0x7f9db88006c0 (LWP 2230)):
#0  0x00007f9dd7286d72 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007f9dd727ac13 in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007f9dd727ac54 in __syscall_cancel () from /lib64/libc.so.6
#3  0x00007f9dd72f47c6 in ppoll () from /lib64/libc.so.6
#4  0x00007f9dd649ec63 in g_main_context_iterate_unlocked.isra () from
/lib64/libglib-2.0.so.0
#5  0x00007f9dd643fb03 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#6  0x00007f9dd7bd5023 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt6Core.so.6
#7  0x00007f9dd78f3b43 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt6Core.so.6
#8  0x00007f9dd7a07e4f in QThread::exec() () from /lib64/libQt6Core.so.6
#9  0x00007f9dd8b4ee41 in QDBusConnectionManager::run() () from
/lib64/libQt6DBus.so.6
#10 0x00007f9dd7aa4626 in QThreadPrivate::start(void*) () from
/lib64/libQt6Core.so.6
#11 0x00007f9dd727eae7 in start_thread () from /lib64/libc.so.6
#12 0x00007f9dd730179c in __clone3 () from /lib64/libc.so.6

Thread 4 (Thread 0x7f9db6e006c0 (LWP 2235)):
#0  0x00007f9dd7286d72 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007f9dd727ac13 in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007f9dd727ac54 in __syscall_cancel () from /lib64/libc.so.6
#3  0x00007f9dd72f47c6 in ppoll () from /lib64/libc.so.6
#4  0x00007f9dd649ec63 in g_main_context_iterate_unlocked.isra () from
/lib64/libglib-2.0.so.0
#5  0x00007f9dd643fb03 in g_main_context_iteration () from
/lib64/libglib-2.0.so.0
#6  0x00007f9dd7bd5023 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt6Core.so.6
#7  0x00007f9dd78f3b43 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt6Core.so.6
#8  0x00007f9dd7a07e4f in QThread::exec() () from /lib64/libQt6Core.so.6
#9  0x00007f9dd7aa4626 in QThreadPrivate::start(void*) () from
/lib64/libQt6Core.so.6
#10 0x00007f9dd727eae7 in start_thread () from /lib64/libc.so.6
#11 0x00007f9dd730179c in __clone3 () from /lib64/libc.so.6

Thread 3 (Thread 0x7f9db78006c0 (LWP 2234)):
#0  0x00007f9dd7286d72 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007f9dd727ac13 in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007f9dd727b28c in __futex_abstimed_wait_common () from /lib64/libc.so.6
#3  0x00007f9dd727dc39 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libc.so.6
#4  0x00007f9dd28be13d in cnd_wait () from /lib64/libgallium-24.2.3.so
#5  0x00007f9dd289a92b in util_queue_thread_func () from
/lib64/libgallium-24.2.3.so
#6  0x00007f9dd28be06c in impl_thrd_routine () from /lib64/libgallium-24.2.3.so
#7  0x00007f9dd727eae7 in start_thread () from /lib64/libc.so.6
#8  0x00007f9dd730179c in __clone3 () from /lib64/libc.so.6

Thread 2 (Thread 0x7f9db50006c0 (LWP 2239)):
#0  0x00007f9dd7286d72 in __syscall_cancel_arch () from /lib64/libc.so.6
#1  0x00007f9dd727ac13 in __internal_syscall_cancel () from /lib64/libc.so.6
#2  0x00007f9dd72cac62 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
#3  0x00007f9dd72d6c87 in nanosleep () from /lib64/libc.so.6
#4  0x00007f9dda8e322c in std::this_thread::sleep_for<long, std::ratio<1l,
1000000000l> > (__rtime=...) at /usr/include/c++/14/bits/this_thread_sleep.h:80
#5  std::this_thread::sleep_until<std::chrono::_V2::steady_clock,
std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (__atime=...) at
/usr/include/c++/14/bits/this_thread_sleep.h:99
#6  operator() (__closure=<optimized out>) at
/usr/src/debug/kwin-6.1.90-4.fc42.x86_64/src/backends/drm/drm_commit_thread.cpp:60
#7  std::__invoke_impl<void,
KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()> > (__f=...) at /usr/include/c++/14/bits/invoke.h:61
#8  std::__invoke<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()> > (__fn=...) at /usr/include/c++/14/bits/invoke.h:96
#9  std::invoke<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()> > (__fn=...) at /usr/include/c++/14/functional:120
#10 operator()<> (__closure=<optimized out>) at
/usr/include/qt6/QtCore/qthread.h:125
#11 std::__invoke_impl<void,
QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()> >(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > (__f=...) at
/usr/include/c++/14/bits/invoke.h:61
#12
std::__invoke<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > (__fn=...) at
/usr/include/c++/14/bits/invoke.h:96
#13
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >::_M_invoke<0>
(this=<optimized out>) at /usr/include/c++/14/bits/std_thread.h:301
#14
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >::operator()
(this=<optimized out>) at /usr/include/c++/14/bits/std_thread.h:308
#15
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >, void>::operator()
(this=0x7f9db4fff9a0) at /usr/include/c++/14/future:1439
#16 std::__invoke_impl<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >, void>&> (__f=...) at
/usr/include/c++/14/bits/invoke.h:61
#17 std::__invoke_r<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>,
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >, void>&> (__fn=...) at
/usr/include/c++/14/bits/invoke.h:114
#18 std::_Function_handler<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>(),
std::__future_base::_Task_setter<std::unique_ptr<std::__future_base::_Result<void>,
std::__future_base::_Result_base::_Deleter>,
std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >, void> >::_M_invoke(const
std::_Any_data &) (__functor=...) at
/usr/include/c++/14/bits/std_function.h:291
#19 0x00007f9dda8dd206 in
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>()>::operator() (this=<optimized
out>) at /usr/include/c++/14/bits/std_function.h:591
#20 std::__future_base::_State_baseV2::_M_do_set (this=0x564cf55268f0,
__f=<optimized out>, __did_set=0x7f9db4fff957) at
/usr/include/c++/14/future:596
#21 0x00007f9dd7283d2b in __pthread_once_slow.isra.0 () from /lib64/libc.so.6
#22 0x00007f9dd7283d99 in pthread_once@GLIBC_2.2.5 () from /lib64/libc.so.6
#23 0x00007f9dda8dde73 in __gthread_once (__once=0x564cf5526908,
__func=<optimized out>) at
/usr/include/c++/14/x86_64-redhat-linux/bits/gthr-default.h:713
#24 std::call_once<void
(std::__future_base::_State_baseV2::*)(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>()>*, bool*),
std::__future_base::_State_baseV2*,
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>()>*, bool*> (__once=...,
__f=@0x7f9db4fff970: (void (std::__future_base::_State_baseV2::*)(class
std::__future_base::_State_baseV2 * const, class
std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter>()> *, bool *)) 0x7f9dda8dd1d0
<std::__future_base::_State_baseV2::_M_do_set(std::function<std::unique_ptr<std::__future_base::_Result_base,
std::__future_base::_Result_base::_Deleter> ()>*, bool*)>) at
/usr/include/c++/14/mutex:916
#25 std::__future_base::_State_baseV2::_M_set_result (this=0x564cf55268f0,
__res=..., __ignore_failure=true) at /usr/include/c++/14/future:435
#26
std::__future_base::_Deferred_state<std::thread::_Invoker<std::tuple<QThread::create<KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*,
const QString&)::<lambda()>
>(KWin::DrmCommitThread::DrmCommitThread(KWin::DrmGpu*, const
QString&)::<lambda()>&&)::<lambda(auto:48&& ...)> > >,
void>::_M_complete_async(void) (this=0x564cf55268f0) at
/usr/include/c++/14/future:1712
#27 0x00007f9dd7a08317 in QThreadCreateThread::run() () from
/lib64/libQt6Core.so.6
#28 0x00007f9dd7aa4626 in QThreadPrivate::start(void*) () from
/lib64/libQt6Core.so.6
#29 0x00007f9dd727eae7 in start_thread () from /lib64/libc.so.6
#30 0x00007f9dd730179c in __clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7f9dd9b8bb80 (LWP 2147)):
[KCrash Handler]
#4  KWin::DrmGpu::presentationClock (this=0xcb71386c291b0381) at
/usr/src/debug/kwin-6.1.90-4.fc42.x86_64/src/backends/drm/drm_gpu.cpp:131
#5  KWin::DrmGpu::pageFlipHandler (fd=22, sequence=0, sec=2683, usec=631215,
crtc_id=36, user_data=0x7f9d9800a470) at
/usr/src/debug/kwin-6.1.90-4.fc42.x86_64/src/backends/drm/drm_gpu.cpp:566
#6  0x00007f9dd7739580 in drmHandleEvent (fd=22, evctx=0x7fffbef87cc0) at
../xf86drmMode.c:1070
#7  0x00007f9dda8f0b8c in KWin::DrmGpu::dispatchEvents (this=<optimized out>)
at /usr/src/debug/kwin-6.1.90-4.fc42.x86_64/src/backends/drm/drm_gpu.cpp:581
#8  0x00007f9dd794c872 in void doActivate<false>(QObject*, int, void**) () from
/lib64/libQt6Core.so.6
#9  0x00007f9dd795a44d in QSocketNotifier::activated(QSocketDescriptor,
QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) () from
/lib64/libQt6Core.so.6
#10 0x00007f9dd795ac5b in QSocketNotifier::event(QEvent*) () from
/lib64/libQt6Core.so.6
#11 0x00007f9dd8c3d218 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /lib64/libQt6Widgets.so.6
#12 0x00007f9dd78e6e08 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /lib64/libQt6Core.so.6
#13 0x00007f9dd7aa68c6 in
QEventDispatcherUNIXPrivate::activateSocketNotifiers() () from
/lib64/libQt6Core.so.6
#14 0x00007f9dd7aa71d4 in
QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /lib64/libQt6Core.so.6
#15 0x00007f9dd8656492 in
QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() from /lib64/libQt6Gui.so.6
#16 0x00007f9dd78f3b43 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/lib64/libQt6Core.so.6
#17 0x00007f9dd78ef9fc in QCoreApplication::exec() () from
/lib64/libQt6Core.so.6
#18 0x0000564cb5f588de in main ()

Reported using DrKonqi

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

Reply via email to