egl-wayland icon indicating copy to clipboard operation
egl-wayland copied to clipboard

Crash of KDE Plasma 6.1

Open mrdev023 opened this issue 1 year ago • 2 comments

Global Info

OS: NixOS (branch: unstable) NVIDIA: 560.35.03 EGL-WAYLAND: 1.1.13 i think

KDE Crash log point to /nix/store/xdqvrwrf5baqz49aaa0wzd3z446vvblw-nvidia-x11-560.35.03-6.10.5/lib/libnvidia-egl-wayland.so.1 And this symbolic link point to libnvidia-egl-wayland.so.1.1.13

KDE Info

Operating System: NixOS 24.11 KDE Plasma Version: 6.1.4 KDE Frameworks Version: 6.5.0 Qt Version: 6.7.2 Kernel Version: 6.10.5-zen1 (64-bit) Graphics Platform: Wayland Processors: 64 × AMD Ryzen Threadripper 2990WX 32-Core Processor Memory: 31.2 Gio of RAM Graphics Processor: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 Manufacturer: Micro-Star International Co., Ltd. Product Name: MS-7B09 System Version: 1.0

Crash log

Thread 1 (Thread 0x7626e3e5c600 (LWP 3348)):
#5  0x00007626e0c098ef in ?? () from /nix/store/xdqvrwrf5baqz49aaa0wzd3z446vvblw-nvidia-x11-560.35.03-6.10.5/lib/libnvidia-egl-wayland.so.1
#6  0x00007626e0c0b2af in ?? () from /nix/store/xdqvrwrf5baqz49aaa0wzd3z446vvblw-nvidia-x11-560.35.03-6.10.5/lib/libnvidia-egl-wayland.so.1
#7  0x00007626e12ab62e in ?? () from /nix/store/xdqvrwrf5baqz49aaa0wzd3z446vvblw-nvidia-x11-560.35.03-6.10.5/lib/libEGL_nvidia.so.0
#8  0x00007626e124e640 in ?? () from /nix/store/xdqvrwrf5baqz49aaa0wzd3z446vvblw-nvidia-x11-560.35.03-6.10.5/lib/libEGL_nvidia.so.0
#9  0x00007626e384b64f in QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) () from /nix/store/s5f938xlch25kla57yfzwz1rjqs8hsdb-qtwayland-6.7.2/lib/qt-6/plugins/wayland-graphics-integration-client/../../../libQt6WaylandEglClientHwIntegration.so.6
#10 0x00007626ea78b41c in QRhiGles2::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) () from /nix/store/62rz6d59b1pi3pwx9yxc8q3aak2xlmz3-qtbase-6.7.2/lib/libQt6Gui.so.6
#11 0x00007626ea610b18 in QRhi::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) () from /nix/store/62rz6d59b1pi3pwx9yxc8q3aak2xlmz3-qtbase-6.7.2/lib/libQt6Gui.so.6
#12 0x00007626eb95d9fb in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) () from /nix/store/ywzvg8m6h5a04g4vzrw0a0ak5mzxcrq6-qtdeclarative-6.7.2/lib/libQt6Quick.so.6
#13 0x00007626ea43c240 in QWindow::event(QEvent*) () from /nix/store/62rz6d59b1pi3pwx9yxc8q3aak2xlmz3-qtbase-6.7.2/lib/libQt6Gui.so.6
#14 0x00007626ed41c0ce in PlasmaQuick::Dialog::event (this=0x7626b2734100, event=0x7ffda669a690) at /build/libplasma-6.1.4/src/plasmaquick/dialog.cpp:1378
#15 0x00007626ec3950f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /nix/store/62rz6d59b1pi3pwx9yxc8q3aak2xlmz3-qtbase-6.7.2/lib/libQt6Widgets.so.6
#16 0x00007626e9985a38 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /nix/store/62rz6d59b1pi3pwx9yxc8q3aak2xlmz3-qtbase-6.7.2/lib/libQt6Core.so.6

DrKonqi Crash Log

mrdev023 avatar Aug 31 '24 11:08 mrdev023

Sorry for the late follow up, but can you please provide any details for how you triggered this crash? was this on startup or while performing some action?

amshafer avatar Sep 18 '24 14:09 amshafer

I couldn't reproduce the bug precisely. When, i working on my computer, after few hours, i see plasma crash and then plasma restart automatically with drkonqi window. I see also plasma crash when i not used my computer but just keep my computer running. It crash between 2-3 times by day.

KWin continue to working during plasma crash.

@amshafer

mrdev023 avatar Sep 18 '24 16:09 mrdev023

I have the same issue for some time now, the cause is also egl-wayland egl-wayland 4:1.1.16-1

gdb) bt
#0  0x00007326856a53f4 in ?? () from /usr/lib/libc.so.6
#1  0x000073268564c120 in raise () from /usr/lib/libc.so.6
#2  0x00007326885cc2a1 in KCrash::defaultCrashHandler(int) () from /usr/lib/libKF6Crash.so.6
#3  <signal handler called>
#4  0x000073267e8c2423 in ?? () from /usr/lib/libnvidia-egl-wayland.so.1
#5  0x000073267e8c7ba4 in ?? () from /usr/lib/libnvidia-egl-wayland.so.1
#6  0x000073267ccab62e in ?? () from /usr/lib/libEGL_nvidia.so.0
#7  0x000073267cc4e640 in ?? () from /usr/lib/libEGL_nvidia.so.0
#8  0x000073267f36c26a in QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) ()
   from /usr/lib/qt6/plugins/wayland-graphics-integration-client/../../../libQt6WaylandEglClientHwIntegration.so.6

Operating System: Arch Linux KDE Plasma Version: 6.2.0 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.3 Kernel Version: 6.11.3-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 6 × Intel® Core™ i5-9600KF CPU @ 3.70GHz Memory: 31,3 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2 Manufacturer: Gigabyte Technology Co., Ltd. Product Name: Z390 GAMING X

ameoverflow avatar Oct 12 '24 19:10 ameoverflow

Have this issue in wayland since the explicit sync update. Still happens in 565.. Can provide the full log if necessary

1nikolas avatar Oct 23 '24 22:10 1nikolas

We still haven't been able to reproduce this internally. Since the crash is happening in egl-wayland it would be very helpful if someone could build egl-wayland from source and get a crash with debug symbols. I'd like to confirm if this is the same problem as #145 tries to fix.

amshafer avatar Oct 25 '24 16:10 amshafer

We still haven't been able to reproduce this internally. Since the crash is happening in egl-wayland it would be very helpful if someone could build egl-wayland from source and get a crash with debug symbols. I'd like to confirm if this is the same problem as #145 tries to fix.

I can do this later, or try to use KDE Plasma crash handler function to download debug symbols.

ameoverflow avatar Oct 26 '24 14:10 ameoverflow

I already tried to download the debug symbols many times, it seems broken always gets stuck for me..

1nikolas avatar Oct 26 '24 14:10 1nikolas

We still haven't been able to reproduce this internally. Since the crash is happening in egl-wayland it would be very helpful if someone could build egl-wayland from source and get a crash with debug symbols. I'd like to confirm if this is the same problem as #145 tries to fix.

#0  0x00007a8b8e6a53f4 in ?? () from /usr/lib/libc.so.6
#1  0x00007a8b8e64c120 in raise () from /usr/lib/libc.so.6
#2  0x00007a8b916802a1 in KCrash::defaultCrashHandler(int) () from /usr/lib/libKF6Crash.so.6
#3  <signal handler called>
#4  0x00007a8b88063423 in send_explicit_sync_points (display=0x637b6891d5d0, surface=0x637b7d489800, image=0x0)
    at ../egl-wayland/src/wayland-eglsurface.c:205
#5  wlEglSendDamageEvent (surface=surface@entry=0x637b7d489800, queue=0x637b82f115f0)
    at ../egl-wayland/src/wayland-eglsurface.c:279
#6  0x00007a8b88068ba4 in wlEglSwapBuffersWithDamageHook (eglDisplay=<optimized out>, eglSurface=<optimized out>, 
    rects=<optimized out>, n_rects=<optimized out>) at ../egl-wayland/src/wayland-eglswap.c:150
#7  0x00007a8b85aab62e in ?? () from /usr/lib/libEGL_nvidia.so.0
#8  0x00007a8b85a4e640 in ?? () from /usr/lib/libEGL_nvidia.so.0
#9  0x00007a8b887f62ce in QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) ()
   from /usr/lib/qt6/plugins/wayland-graphics-integration-client/../../../libQt6WaylandEglClientHwIntegration.so.6
#10 0x00007a8b8f70b67d in ?? () from /usr/lib/libQt6Gui.so.6

and yes, the crash is caused by send_explicit_sync_points , and is the same problem as #145

(gdb) frame 4
#4  0x00007a8b88063423 in send_explicit_sync_points (display=0x637b6891d5d0, surface=0x637b7d489800, image=0x0) at ../egl-wayland/src/wayland-eglsurface.c:205
205         syncFd = data->egl.dupNativeFenceFD(dpy, image->acquireSync);
(gdb) print data
$1 = (WlEglPlatformData *) 0x637b687dbd30
(gdb) print dpy
$2 = (EGLDisplay) 0x7a8b74001720
(gdb) print image
$3 = (WlEglStreamImage *) 0x0

ameoverflow avatar Oct 27 '24 00:10 ameoverflow

For me, the crash happens after a certain threshold of received notifications or clicks on the systray/widgets (e.g. clipboard, audio applets/plasma-notes) is reached. If I run this:

for i in {0..300}; do notify-send -t 500 $i; done 

then plasmashell will always crash after ~220 iterations (edit: ~220 iterations since the last crash).

pid="$(pgrep plasmashell)"; for i in {0..300}; do [ "$pid" == "$(pgrep plasmashell)" ] && notify-send -t 500 $i; done

Fedora Linux 41 nvidia: 560.35.03 egl-wayland: 1.1.17^20241016git0cd471d

Thread 1 (Thread 0x7f891ce2eb00 (LWP 52812)):
[KCrash Handler]
#5  0x00007f890e4e40d1 in send_explicit_sync_points (display=0x563adf374e30, surface=0x563ae3866230, image=0x0) at ../src/wayland-eglsurface.c:205
#6  wlEglSendDamageEvent (surface=surface@entry=0x563ae3866230, queue=0x563ae38664c0, rects=rects@entry=0x0, n_rects=n_rects@entry=0) at ../src/wayland-eglsurface.c:283
#7  0x00007f890e4e9719 in wlEglSwapBuffersWithDamageHook (eglDisplay=<optimized out>, eglSurface=<optimized out>, rects=0x0, n_rects=0) at ../src/wayland-eglswap.c:150
#8  0x00007f890c8ab62e in ?? () from /lib64/libEGL_nvidia.so.0
#9  0x00007f890c84e640 in ?? () from /lib64/libEGL_nvidia.so.0
#10 0x00007f890e59c2f3 in QtWaylandClient::QWaylandGLContext::swapBuffers (this=0x563ae516d730, surface=<optimized out>) at /usr/src/debug/qt6-qtwayland-6.7.2-5.fc41.x86_64/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:375
#11 0x00007f8923ebadad in QRhiGles2::endFrame (this=0x563ae63dca70, swapChain=0x563ae6d3f990, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/rhi/qrhigles2.cpp:2107
#12 0x00007f8923d2f0ee in QRhi::endFrame (this=0x563ae9029810, swapChain=0x563ae6d3f990, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/rhi/qrhi.cpp:10570
#13 0x00007f8924f5dcdc in QSGGuiThreadRenderLoop::renderWindow (this=0x563adf979450, window=0x7f88fc014490) at /usr/src/debug/qt6-qtdeclarative-6.7.2-3.fc41.x86_64/src/quick/scenegraph/qsgrenderloop.cpp:718
#14 0x00007f8923b3d488 in QWindow::event (this=this@entry=0x7f88fc014490, ev=0x7ffc20dae8e0) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/kernel/qwindow.cpp:2623
#15 0x00007f8924eb9baa in QQuickWindow::event (this=this@entry=0x7f88fc014490, event=event@entry=0x7ffc20dae8e0) at /usr/src/debug/qt6-qtdeclarative-6.7.2-3.fc41.x86_64/src/quick/items/qquickwindow.cpp:1655
#16 0x00007f89261bd05e in PlasmaQuick::Dialog::event (this=0x7f88fc014490, event=0x7ffc20dae8e0) at /usr/src/debug/libplasma-6.2.2-1.fc41.x86_64/src/plasmaquick/dialog.cpp:1378
#17 0x00007f892563d218 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7f88fc014490, e=0x7ffc20dae8e0) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3287
#18 0x00007f89232e6e08 in QCoreApplication::notifyInternal2 (receiver=0x7f88fc014490, event=0x7ffc20dae8e0) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1142
#19 0x00007f89232e707d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1597
#20 0x00007f8923adddc5 in QGuiApplicationPrivate::processExposeEvent (e=0x7f890801ab80) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:3298
#21 0x00007f8923b4103c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/kernel/qwindowsysteminterface.cpp:1114
#22 0x00007f8924059234 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#23 0x00007f8921ee228c in g_main_dispatch (context=0x7f8908000f00) at ../glib/gmain.c:3357
#24 g_main_context_dispatch_unlocked (context=0x7f8908000f00) at ../glib/gmain.c:4208
#25 0x00007f8921f427b8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f8908000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#26 0x00007f8921ee3783 in g_main_context_iteration (context=0x7f8908000f00, may_block=1) at ../glib/gmain.c:4338
#27 0x00007f89235d5023 in QEventDispatcherGlib::processEvents (this=0x563adf169e70, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#28 0x00007f89232f3b43 in QEventLoop::exec (this=this@entry=0x7ffc20daec20, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/corelib/global/qflags.h:34
#29 0x00007f89232ef9fc in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/corelib/global/qflags.h:74
#30 0x00007f8923acc3ad in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1926
#31 0x00007f892563d189 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-7.fc41.x86_64/src/widgets/kernel/qapplication.cpp:2555
#32 0x0000563ac68e1183 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.2.2-1.fc41.x86_64/shell/main.cpp:192

tobiasozor avatar Oct 30 '24 17:10 tobiasozor

For me, the crash happens after a certain threshold of received notifications or clicks on the systray/widgets (e.g. clipboard, audio applets/plasma-notes) is reached. If I run this:

for i in {0..300}; do notify-send -t 500 $i; done

then plasmashell will always crash after ~220 interations.

I'll try running this on my PC. Edit: tried, and yes, it also crashes Plasma on my PC, but far quicker for me, first time after 200 iterations, 2nd after ~160, and now after 68, so I think this also might be a bug in Plasma, not in just egl-wayland.

ameoverflow avatar Oct 31 '24 00:10 ameoverflow