Bug 488794 - In Wayland session, plasmashell crashes immediately and frequently
Summary: In Wayland session, plasmashell crashes immediately and frequently
Status: RESOLVED NOT A BUG
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 6.1.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-06-20 14:28 UTC by luciros601084
Modified: 2024-06-23 10:10 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
crashing-clip-voidlinux (2.48 MB, video/webm)
2024-06-20 14:35 UTC, luciros601084
Details

Note You need to log in before you can comment on or make changes to this bug.
Description luciros601084 2024-06-20 14:28:52 UTC
Application: plasmashell (6.1.0)
 (Compiled from sources)
Qt Version: 6.6.0
Frameworks Version: 6.3.0
Operating System: Linux 6.1.94_1 x86_64
Windowing System: Wayland
Distribution: Void Linux
DrKonqi: 6.1.0 [KCrashBackend]

-- Information about the crash:
In Wayland plasmashell is crashing within 5 seconds of startup, while in x11 no crash happens

OS: Void Linux
Qt: 6.6

The crash can be reproduced every time.

-- Backtrace:
Application: plasmashell (plasmashell), signal: Aborted

[KCrash Handler]
#4  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#5  0x00007f6cefca468f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#6  0x00007f6cefc55822 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#7  0x00007f6cefc3e4af in __GI_abort () at ./stdlib/abort.c:79
#8  0x00007f6cf2ce5a21 in wl_abort (fmt=fmt@entry=0x7f6cf2ceab48 "listener function for opcode %u of %s is NULL\n") at ../src/wayland-util.c:476
#9  0x00007f6cf2ce5c30 in wl_closure_invoke (closure=closure@entry=0x7f6ce0002220, target=<optimized out>, target@entry=0x560cbe102be0, opcode=opcode@entry=5, data=<optimized out>, flags=1) at ../src/connection.c:1225
#10 0x00007f6cf2ce6329 in dispatch_event (display=display@entry=0x560cbdc75520, queue=queue@entry=0x560cbdc75618) at ../src/wayland-client.c:1670
#11 0x00007f6cf2ce66eb in dispatch_queue (queue=0x560cbdc75618, display=0x560cbdc75520) at ../src/wayland-client.c:1816
#12 wl_display_dispatch_queue_pending (display=0x560cbdc75520, queue=0x560cbdc75618) at ../src/wayland-client.c:2058
#13 0x00007f6cf1183cba in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at ../src/client/qwaylanddisplay.cpp:229
#14 0x00007f6cf03b01fb in doActivate<false> (sender=0x560cbdc88440, signal_index=4, argv=0x7ffcd9a16b68) at ../src/corelib/kernel/qobject.cpp:4033
#15 0x00007f6cf03aa7cf in QMetaObject::activate (sender=sender@entry=0x560cbdc88440, m=m@entry=0x7f6cf07b5f00 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at ../src/corelib/kernel/qobject.cpp:4081
#16 0x00007f6cf035a253 in QAbstractEventDispatcher::awake (this=this@entry=0x560cbdc88440) at src/corelib/Core_autogen/include/moc_qabstracteventdispatcher.cpp:182
#17 0x00007f6cf05af58b in QEventDispatcherGlib::processEvents (this=0x560cbdc88440, flags=...) at ../src/corelib/kernel/qeventdispatcher_glib.cpp:400
#18 0x00007f6cf0369103 in QEventLoop::exec (this=this@entry=0x7ffcd9a16ca0, flags=..., flags@entry=...) at include/QtCore/../../../src/corelib/global/qflags.h:34
#19 0x00007f6cf0364f26 in QCoreApplication::exec () at include/QtCore/../../../src/corelib/global/qflags.h:74
#20 0x0000560cbcb4ad38 in ?? ()
#21 0x00007f6cefc3fc4c in __libc_start_call_main (main=main@entry=0x560cbcb4a000, argc=argc@entry=1, argv=argv@entry=0x7ffcd9a17068) at ../sysdeps/nptl/libc_start_call_main.h:58
#22 0x00007f6cefc3fd05 in __libc_start_main_impl (main=0x560cbcb4a000, argc=1, argv=0x7ffcd9a17068, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcd9a17058) at ../csu/libc-start.c:360
#23 0x0000560cbcb4ae51 in ?? ()
[Inferior 1 (process 17756) detached]

Reported using DrKonqi
Comment 1 luciros601084 2024-06-20 14:35:53 UTC
Created attachment 170683 [details]
crashing-clip-voidlinux
Comment 2 Nate Graham 2024-06-21 00:13:54 UTC
Very clear screen recording, thanks.

Unfortunately no KDE code is implicated in the backtrace. Seems like maybe a Wayland client/server error or a protocol error or something?
Comment 3 luciros601084 2024-06-21 00:50:51 UTC
Reply to change in title:
This is happening on real hardware too (at end video, you can see I was not able to stop screen recorder, my desktop shell was already crashed)
Comment 4 Hilinus Fenfort 2024-06-21 05:05:05 UTC
I confirm it also happens on my machine (on real hardware).
I'm using CRUX

The specific error is as follows:
listener function for opcode 5 of org_kde_plasma_window_management is NULL

It happens when you interact with the taskbar in any way (for example hovering on a pinned icons produces a tooltip that crashes plasmashell immediately).
Comment 5 David Redondo 2024-06-21 07:43:12 UTC
listener function for opcode 5 of org_kde_plasma_window_management is NULL

opcode 5 is 	{ "stacking_order_changed_2", "17", plasma_window_management_types + 0 },

This is another case of something build with an older wayland protocol  and due to qtwaylandscanner defaulting to public-code  and the wl_ interface being exported, the linker ultimately resolving it to the older symbol. 
See https://bugs.kde.org/show_bug.cgi?id=481791 hitting Neon before.

We cannot do anything about this until Qt 6.8 where we can control/disable this. Until then everything needs to be build against latest plasma-wayland-protocols.
Comment 6 Nate Graham 2024-06-21 17:42:56 UTC
...So please tell your distro!
Comment 7 luciros601084 2024-06-21 17:45:40 UTC
(In reply to Nate Graham from comment #6)
> ...So please tell your distro!

Void Linux
Comment 8 luciros601084 2024-06-21 17:46:59 UTC
(In reply to David Redondo from comment #5)
> listener function for opcode 5 of org_kde_plasma_window_management is NULL
> 
> opcode 5 is 	{ "stacking_order_changed_2", "17",
> plasma_window_management_types + 0 },
> 
> This is another case of something build with an older wayland protocol  and
> due to qtwaylandscanner defaulting to public-code  and the wl_ interface
> being exported, the linker ultimately resolving it to the older symbol. 
> See https://bugs.kde.org/show_bug.cgi?id=481791 hitting Neon before.
> 
> We cannot do anything about this until Qt 6.8 where we can control/disable
> this. Until then everything needs to be build against latest
> plasma-wayland-protocols.

I have rebuilt all plasma packages again plasma-wayland-protocols-1.13.0 , but is still crashing
Comment 9 Nate Graham 2024-06-21 17:47:23 UTC
I don't mean tell me what your distro is, I mean tell the people involved with your distro about this issue! :D
Comment 10 Hilinus Fenfort 2024-06-22 06:24:09 UTC
In my case, I rebuilt all packages dependent on plasma-wayland-protocols and it works now.
Comment 11 luciros601084 2024-06-23 10:10:15 UTC
Ok I was re-built of some kde framework packages, thing are stable now