Krunner crashing with wayland

Hey guys,

I would like to ask you for a help. I found a bug, Krunner is crashing when i write prompt (or more often when i delete whole content of prompt line). I use wayland, nvidia drivers (570.133.07) and plasma 6.3.4. It does not happen on X11. I didn’t find much about this behavior here. Also when i open Krunner from Konsole, it works just fine aside from some flicker.

Error from Crash handler:
Application: KRunner (krunner), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char > = {get() = }

Hi! Just to double-check, have you already been able to use one of the procedures listed on this page for submitting crash reports to KDE developers? Guidelines and HOWTOs/Debugging/How to create useful crash reports - KDE Community Wiki

Thanks for responding. I wasn’t sure whenever to post it right there since there was a statement to post here, if i am not sure. Also there is a problem with getting gdb tracing krunner since it doesn’t crash when launched in console, so all i could get was from crash handler. It is too long to post here so i post only first 3 threads, should i report it as a bug in tracker or it is not detailed enough?

Thread 3 (Thread 0x7de42328f6c0 (LWP 7347)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007de42a29fe33 in __internal_syscall_cancel (a1=a1@entry=138418795899368, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:49
#2  0x00007de42a29fe74 in __syscall_cancel (a1=a1@entry=138418795899368, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:75
#3  0x00007de42a31a53e in __GI___poll (fds=fds@entry=0x7de42328e9e8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#4  0x00007de42985b20b in poll (__timeout=-1, __nfds=1, __fds=0x7de42328e9e8) at /usr/include/bits/poll2.h:39
#5  _xcb_conn_wait (c=c@entry=0x6216047490c0, vector=vector@entry=0x0, count=count@entry=0x0, cond=<optimized out>) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:510
#6  0x00007de42985cf3d in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x621604749100, c=0x6216047490c0) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:476
#7  xcb_wait_for_event (c=0x6216047490c0) at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_in.c:703
#8  0x00007de423babdd9 in QXcbEventQueue::run (this=0x621604740730) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbeventqueue.cpp:192
#9  0x00007de42aae44ff in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:433
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:365
#11 QThreadPrivate::start (arg=0x621604740730) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:393
#12 0x00007de42a2a370a in start_thread (arg=<optimized out>) at pthread_create.c:448
#13 0x00007de42a327aac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 2 (Thread 0x7de42418ca40 (LWP 7345)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007de42a29fe33 in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007de42a2a04bc in __futex_abstimed_wait_common64 (private=0, futex_word=0x621605138928, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x621605138928, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007de42a2a051f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x621605138928, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007de42a2a2c0e in __pthread_cond_wait_common (cond=0x621605138908, mutex=0x6216051388e0, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x621605138908, mutex=0x6216051388e0) at pthread_cond_wait.c:458
#7  0x00007de42aae9af8 in QWaitConditionPrivate::wait (this=0x6216051388e0, deadline=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:67
#8  QWaitCondition::wait (this=<optimized out>, mutex=0x7de41c01e2b8, deadline=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qwaitcondition_unix.cpp:145
#9  0x00007de42ce5b9f0 in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x621604cf4520, w=w@entry=0x621604fa0760, inExpose=inExpose@entry=true) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1664
#10 0x00007de42ce5c54f in QSGThreadedRenderLoop::handleExposure (this=<optimized out>, window=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1337
#11 QSGThreadedRenderLoop::exposureChanged (this=<optimized out>, window=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1248
#12 0x00007de42b1f52c4 in QWindow::event (this=0x7ffda4db8a20, ev=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:2716
#13 0x00007de42bcfed9e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7ffda4db8a20, e=0x7ffda4db8460) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3301
#14 0x00007de42a95a018 in QCoreApplication::notifyInternal2 (receiver=0x7ffda4db8a20, event=0x7ffda4db8460) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#15 0x00007de42a95a06d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1560
#16 0x00007de42b19bb20 in QGuiApplicationPrivate::processExposeEvent (e=0x621605620180) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:3487
#17 0x00007de42b20d0c4 in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1113
#18 0x00007de423baed67 in xcbSourceDispatch (source=source@entry=0x62160478bdc0) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57
#19 0x00007de4296bd1e4 in g_main_dispatch (context=0x7de41c000f00) at ../glib/glib/gmain.c:3398
#20 0x00007de429720e97 in g_main_context_dispatch_unlocked (context=0x7de41c000f00) at ../glib/glib/gmain.c:4249
#21 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7de41c000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4314
#22 0x00007de4296bc615 in g_main_context_iteration (context=0x7de41c000f00, may_block=1) at ../glib/glib/gmain.c:4379
#23 0x00007de42abcd59d in QEventDispatcherGlib::processEvents (this=0x6216047a1c20, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#24 0x00007de42a965376 in QEventLoop::processEvents (this=0x7ffda4db87e0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#25 QEventLoop::exec (this=0x7ffda4db87e0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#26 0x00007de42a95d159 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:77
#27 0x00007de42bcfb14a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2568
#28 0x00006215e3f3c7a4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.3.4/krunner/main.cpp:145

Thread 1 (Thread 0x7de3a67fc6c0 (LWP 7384)):
[KCrash Handler]
#5  0x00007de42230e325 in ?? () from /usr/lib/libGLX_nvidia.so.0
#6  0x00007de41a6b99e3 in ?? () from /usr/lib/libnvidia-glcore.so.570.133.07
#7  0x00007de42232f3ce in ?? () from /usr/lib/libGLX_nvidia.so.0
#8  0x00007de4222fd510 in ?? () from /usr/lib/libGLX_nvidia.so.0
#9  0x00007de423abec76 in QGLXContext::swapBuffers (this=0x7de390002750, surface=0x621604f124c0) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp:548
#10 0x00007de42b52a3bd in QRhiGles2::endFrame (this=0x7de390001920, swapChain=0x7de3903d9ff0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/rhi/qrhigles2.cpp:2272
#11 0x00007de42b3b121e in QRhi::endFrame (this=0x7de390001900, swapChain=0x7de3903d9ff0, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/gui/rhi/qrhi.cpp:11210
#12 0x00007de42ce5a2fa in QSGRenderThread::syncAndRender (this=<optimized out>) at /usr/include/qt6/QtCore/qflags.h:76
#13 QSGRenderThread::run (this=0x7de41c01e270) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:975
#14 0x00007de42aae44ff in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:433
#15 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:365
#16 QThreadPrivate::start (arg=0x7de41c01e270) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:393
#17 0x00007de42a2a370a in start_thread (arg=<optimized out>) at pthread_create.c:448
#18 0x00007de42a327aac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

I’m no expert on reading crash reports, but I…think that would work :sweat_smile: It did stick out, though, that one of the threads there has the NVIDIA proprietary drivers at the top. Just to check, does the issue still occur if you boot using the Nouveau drivers?

I’m also not sure if this is somehow a different manifestation of the same underlying issue as 480800 – With NVIDIA GPU, on Wayland KRunner and other Plasma pop-ups are intermittently not opening with eglSwapBuffers errors , but as a crash instead of a failure to open with an existing process?

1 Like

Aaaaah, okay i found the problem. I got some problem with Krunner earlier and solved it by adding this to systemd (mentioned in the bug you linked too):

[Service]
Environment=QT_QPA_PLATFORM=xcb

After some time it broke and after i commented it, it started working again. Thank you for assistance. Btw Nouveau worked. I will comment on the bug to not use the work around.

1 Like