Bug 451401

Summary: Random but related crashes
Product: [Plasma] kwin Reporter: Victoria <vikts>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nate
Priority: NOR Keywords: drkonqi, wayland
Version: unspecified   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Victoria 2022-03-11 15:38:05 UTC
Application: akonadiserver (5.19.3 (21.12.3))

Qt Version: 5.15.3
Frameworks Version: 5.91.0
Operating System: Linux 5.16.13-zen1-1-zen x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.24.3 [KCrashBackend]

-- Information about the crash:
If I play a game long enough (Xwayland), suddenly all Xwayland applications crash and cannot be restarted. When trying to restart it, there is no output in commandline, it just hangs.

Yesterday, I had systemmonitor (ctrl+esc) crash every time when trying to resize or right click in it. It started working normally after the xwayland applications crashed.
It was crashing with the following output:
kde wl_display@1: error 1: invalid arguments for wl_shm@61.create_pool
The Wayland connection experienced a fatal error: Invalid argument

Today, that weird crash was preceeded after some minute of Plasmashell constantly crashing and restarting after I got a notification.

These issues seem to be completely random, happen since 5.23 at least and it is the first time DrKonqui launched and it is the first debugging information I managed to get out of these crashes.

Removing all Plasma .config files did not stop the issue from occuring.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Akonadi Server (akonadiserver), signal: Segmentation fault
Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char, std::default_delete<char []> >> = {_M_t = std::tuple containing = {[1] = 0x0, [2] = {<No data fields>}}}, <No data fields>}}
[KCrash Handler]
#6  std::default_delete<Akonadi::Server::Connection>::operator() (__ptr=0x110, this=<optimized out>) at /usr/include/c++/11.2.0/bits/unique_ptr.h:79
#7  std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >::~unique_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11.2.0/bits/unique_ptr.h:361
#8  __gnu_cxx::new_allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > >::destroy<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > (__p=<optimized out>, this=<optimized out>) at /usr/include/c++/11.2.0/ext/new_allocator.h:168
#9  std::allocator_traits<std::allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > >::destroy<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > (__p=<optimized out>, __a=...) at /usr/include/c++/11.2.0/bits/alloc_traits.h:531
#10 std::vector<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >, std::allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > >::_M_erase (__position=Python Exception <class 'gdb.error'>: Request for member '_M_head_impl' is ambiguous in type 'std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> >'. Candidates are:
  'std::default_delete<Akonadi::Server::Connection> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<1, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>)
  '<unnamed type> std::_Head_base<0, Akonadi::Server::Connection*, false>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<0, Akonadi::Server::Connection*, false>)
{_M_t = {<std::__uniq_ptr_impl<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >> = {_M_t = std::tuple containing = {[1] = 0x557332c6acc0, [2] = {<No data fields>}}}, <No data fields>}}, this=<optimized out>) at /usr/include/c++/11.2.0/bits/vector.tcc:177
#11 std::vector<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >, std::allocator<std::unique_ptr<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> > > >::erase (__position=Python Exception <class 'gdb.error'>: Request for member '_M_head_impl' is ambiguous in type 'std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> >'. Candidates are:
  'std::default_delete<Akonadi::Server::Connection> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<1, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<1, std::default_delete<Akonadi::Server::Connection>, true>)
  '<unnamed type> std::_Head_base<0, Akonadi::Server::Connection*, false>::_M_head_impl' (std::tuple<Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Tuple_impl<0, Akonadi::Server::Connection*, std::default_delete<Akonadi::Server::Connection> > -> std::_Head_base<0, Akonadi::Server::Connection*, false>)
{_M_t = {<std::__uniq_ptr_impl<Akonadi::Server::Connection, std::default_delete<Akonadi::Server::Connection> >> = {_M_t = std::tuple containing = {[1] = 0x557332c6acc0, [2] = {<No data fields>}}}, <No data fields>}}, this=<optimized out>) at /usr/include/c++/11.2.0/bits/stl_vector.h:1431
#12 Akonadi::Server::AkonadiServer::connectionDisconnected (this=<optimized out>) at /usr/src/debug/akonadi-21.12.3/src/server/akonadi.cpp:234
#13 0x00007fc86d3072d6 in QObject::event (this=<optimized out>, e=0x7fc8350b1870) at kernel/qobject.cpp:1314
#14 0x00007fc86d2e308e in doNotify (event=0x7fc8350b1870, receiver=0x7ffd8eafbee0) at kernel/qcoreapplication.cpp:1154
#15 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1140
#16 QCoreApplication::notifyInternal2 (receiver=0x7ffd8eafbee0, event=0x7fc8350b1870) at kernel/qcoreapplication.cpp:1064
#17 0x00007fc86d2e3ba9 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x557332c27190) at kernel/qcoreapplication.cpp:1821
#18 0x00007fc86d32b188 in postEventSourceDispatch (s=0x557332c28650) at kernel/qeventdispatcher_glib.cpp:277
#19 0x00007fc86b67bee3 in g_main_dispatch (context=0x557332c28520) at ../glib/glib/gmain.c:3381
#20 g_main_context_dispatch (context=0x557332c28520) at ../glib/glib/gmain.c:4099
#21 0x00007fc86b6d20f9 in g_main_context_iterate.constprop.0 (context=context@entry=0x557332c28520, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4175
#22 0x00007fc86b679455 in g_main_context_iteration (context=0x557332c28520, may_block=1) at ../glib/glib/gmain.c:4240
#23 0x00007fc86d32f08a in QEventDispatcherGlib::processEvents (this=0x557332c277d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#24 0x00007fc86d2db39b in QEventLoop::exec (this=0x7ffd8eafbd30, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#25 0x00007fc86d2e6ad7 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#26 0x00005573325f0cc5 in AkApplicationBase::exec (this=0x7ffd8eafbeb0) at /usr/src/debug/akonadi-21.12.3/src/shared/akapplication.cpp:107
#27 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/akonadi-21.12.3/src/server/main.cpp:65
[Inferior 1 (process 1477) detached]

Possible duplicates by query: bug 451195, bug 450800, bug 450494, bug 450428, bug 450241.

Reported using DrKonqi
Comment 1 Victoria 2022-03-11 15:44:22 UTC
Report landed in Akonadi due to being reported using DrKonqui, but it is a general crash affecting all Xwayland applications and sometimes more. Could you please reassign it under Kwin?

And any tips on how else I can debug it would be appreciated.
Comment 2 David Edmundson 2022-03-14 23:32:23 UTC
>Could you please reassign it under Kwin?

If xwayland is crashing it's an xwayland bug that needs reporting there. Kwin hasn't done anything wrong in the description above.
Comment 3 Victoria 2022-03-15 08:46:06 UTC
I think it is Xwayland, because that's what most of the crashing applications are. Is KDE logout screen run through Xwayland as well? It doesn't appear after the crash and I have to reboot through CLI.
Comment 4 Victoria 2022-03-21 12:12:00 UTC
I tried testing it extensively for last couple of days on Gnome and this issue did not occur. Today, it again did on Plasma. It must be something related to the compositor.

There's also the case of some non-X-based applications (systemmonitor) crashing until the Xwayland apps crash, when they start working again.
Comment 5 Victoria 2022-03-25 18:33:57 UTC
When the crash occured, system journal was spammed with the following line 10k times in one second:

mar 25 19:26:20 morbidPC kwin_wayland_wrapper[1247]: failed to accept: Too many open file 

Rest of the journal log was:
mar 25 19:26:21 morbidPC kernel: sched: RT throttling activated
mar 25 19:26:22 morbidPC xembedsniproxy[1396]: The X11 connection broke (error 1). Did the X11 server die?
mar 25 19:26:22 morbidPC gmenudbusmenuproxy[1393]: The X11 connection broke (error 1). Did the X11 server die?
mar 25 19:26:22 morbidPC ksmserver[1337]: The X11 connection broke (error 1). Did the X11 server die?
mar 25 19:26:22 morbidPC kded5[1339]: Service  ":1.123" unregistered
mar 25 19:26:22 morbidPC systemd[1146]: plasma-xembedsniproxy.service: Failed with result 'exit-code'.
mar 25 19:26:22 morbidPC systemd[1146]: plasma-ksmserver.service: Failed with result 'exit-code'.
mar 25 19:26:22 morbidPC systemd[1146]: plasma-gmenudbusmenuproxy.service: Failed with result 'exit-code'.
mar 25 19:26:22 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:22 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:25 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings: ReadAll called with parameters:
mar 25 19:26:25 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings:     groups:  ("org.gnome.*")
mar 25 19:26:25 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings: ReadAll called with parameters:
mar 25 19:26:25 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings:     groups:  ("org.gnome.*")
mar 25 19:26:25 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:25 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:25 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:25 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:26 morbidPC plasmashell[1355]: file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/InhibitionHint.qml:26:5: QML Label: Binding loop detected for property "verticalAlignment"
mar 25 19:26:26 morbidPC plasmashell[1355]: file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/InhibitionHint.qml:26:5: QML Label: Binding loop detected for property "verticalAlignment"
mar 25 19:26:26 morbidPC plasmashell[1355]: QObject::disconnect: Unexpected nullptr parameter
mar 25 19:26:26 morbidPC kwin_wayland[1247]: QMetaProperty::read: Unable to handle unregistered datatype 'KWin::SessionState' for property 'KWin::EffectsHandlerImpl::sessionState'
mar 25 19:26:26 morbidPC kwin_wayland[1247]: QMetaProperty::read: Unable to handle unregistered datatype 'KWin::SessionState' for property 'KWin::EffectsHandlerImpl::sessionState'
mar 25 19:26:26 morbidPC kded5[1339]: Service  "org.kde.StatusNotifierHost-1355" unregistered
mar 25 19:26:28 morbidPC kded5[1339]: Registering "org.kde.StatusNotifierHost-42366" as system tray
mar 25 19:26:35 morbidPC audit[1355]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 pid=1355 comm="plasmashell" exe="/usr/bin/plasmashell" sig=11 res=1
mar 25 19:26:35 morbidPC kernel: audit: type=1701 audit(1648232795.703:236): auid=1000 uid=1000 gid=1000 ses=3 pid=1355 comm="plasmashell" exe="/usr/bin/plasmashell" sig=11 res=1
mar 25 19:26:35 morbidPC systemd[1]: Created slice Slice /system/systemd-coredump.
mar 25 19:26:35 morbidPC audit: BPF prog-id=43 op=LOAD
mar 25 19:26:35 morbidPC audit: BPF prog-id=44 op=LOAD
mar 25 19:26:35 morbidPC audit: BPF prog-id=45 op=LOAD
mar 25 19:26:35 morbidPC kernel: audit: type=1334 audit(1648232795.710:237): prog-id=43 op=LOAD
mar 25 19:26:35 morbidPC kernel: audit: type=1334 audit(1648232795.710:238): prog-id=44 op=LOAD
mar 25 19:26:35 morbidPC kernel: audit: type=1334 audit(1648232795.710:239): prog-id=45 op=LOAD
mar 25 19:26:35 morbidPC systemd[1]: Started Process Core Dump (PID 42507/UID 0).
mar 25 19:26:35 morbidPC audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-42507-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 25 19:26:35 morbidPC kernel: audit: type=1130 audit(1648232795.711:240): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@0-42507-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
mar 25 19:26:44 morbidPC kwin_wayland[1247]: This plugin does not support raise()
mar 25 19:26:44 morbidPC kwin_wayland[1247]: This plugin does not support grabbing the keyboard
mar 25 19:26:50 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings: ReadAll called with parameters:
mar 25 19:26:50 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-settings:     groups:  ("org.gnome.*")
mar 25 19:26:50 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:50 morbidPC rtkit-daemon[1165]: Supervising 7 threads of 4 processes of 1 users.
mar 25 19:26:52 morbidPC xdg-desktop-portal-kde[1714]: xdp-kde-background: GetAppState called: no parameters
Comment 6 Victoria 2022-03-25 18:35:10 UTC
I have also managed to reproduce the issue on a laptop with Fedora 35 and AMD iGPU.
Comment 7 Nate Graham 2022-03-26 16:28:47 UTC
Please report to the XWayland developers at https://gitlab.freedesktop.org/xorg/xserver/-/issues/
Comment 8 Victoria 2022-03-26 16:30:58 UTC
If this was just an Xwayland bug, then why would systemmonitor stop crashing the moment this crash happened?
Comment 9 Victoria 2022-03-26 17:07:14 UTC
(In reply to Victoria from comment #8)
> If this was just an Xwayland bug, then why would systemmonitor stop crashing
> the moment this crash happened?

And why doesn't it happen on other Wayland compositors?

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