Bug 445409 - Plasma freezes or crashes when restoring Firefox on Wayland
Summary: Plasma freezes or crashes when restoring Firefox on Wayland
Status: RESOLVED DUPLICATE of bug 447717
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.23.3
Platform: Kubuntu Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, wayland
Depends on:
Blocks:
 
Reported: 2021-11-13 01:33 UTC by Philip McGrath
Modified: 2022-01-12 15:32 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip McGrath 2021-11-13 01:33:06 UTC
Application: plasmashell (5.23.3)

Qt Version: 5.15.2
Frameworks Version: 5.87.0
Operating System: Linux 5.13.0-21-generic x86_64
Windowing System: Wayland
Distribution: Ubuntu 21.10
DrKonqi: 5.23.3 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:

Restoring a Firefox session with many windows (and tabs) immediately after logging in.

- Unusual behavior I noticed:

The windows being restored appeared as black squares, except for the title bars.

- Custom settings of the application:

I have experienced this using the Wayland session on Kubuntu 21.10 with 5.23.3 from the Kubuntu backports PPA.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = {<No data fields>}}
[KCrash Handler]
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=139889491736960) at pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=139889491736960) at pthread_kill.c:80
#8  __GI___pthread_kill (threadid=139889491736960, signo=signo@entry=6) at pthread_kill.c:91
#9  0x00007f3a93806476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007f3a937ec7b7 in __GI_abort () at abort.c:79
#11 0x00007f3a93c91ba3 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#12 QMessageLogger::fatal (this=this@entry=0x7ffd9babe270, msg=msg@entry=0x7f3a91f4d0b8 "The Wayland connection experienced a fatal error: %s") at global/qlogging.cpp:893
#13 0x00007f3a91ec1354 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at ./src/client/qwaylanddisplay.cpp:211
#14 0x00007f3a91ec206a in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55a9d36ab0c0) at ./src/client/qwaylanddisplay.cpp:222
#15 0x00007f3a93ef1a88 in doActivate<false> (sender=0x55a9d36c70e0, signal_index=4, argv=0x7ffd9babe370) at kernel/qobject.cpp:3898
#16 0x00007f3a93eead67 in QMetaObject::activate (sender=sender@entry=0x55a9d36c70e0, m=m@entry=0x7f3a94156800 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#17 0x00007f3a93eb6ba7 in QAbstractEventDispatcher::awake (this=this@entry=0x55a9d36c70e0) at .moc/moc_qabstracteventdispatcher.cpp:149
#18 0x00007f3a93f135db in QEventDispatcherGlib::processEvents (this=0x55a9d36c70e0, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#19 0x00007f3a93eb8a9b in QEventLoop::exec (this=this@entry=0x7ffd9babe490, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#20 0x00007f3a93ec1024 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#21 0x00007f3a94294d10 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#22 0x00007f3a94ba4629 in QApplication::exec () at kernel/qapplication.cpp:2824
#23 0x000055a9d2220d09 in main (argc=<optimized out>, argv=0x7ffd9babe5c0) at ./shell/main.cpp:238
[Inferior 1 (process 14557) detached]

Possible duplicates by query: bug 444014, bug 443884.

Reported using DrKonqi
Comment 1 Philip McGrath 2021-11-19 22:26:34 UTC
In case it's useful, I've started taking note of the `MozCrashReason` reported by the Firefox crash reported for the sort of incident in this report or <https://bugs.kde.org/show_bug.cgi?id=445778>. Obviously, these represent only those times when the crash reporter itself survives, along with enough else to copy and paste the note. Here are the ones I've collected:
```
MozCrashReason: wl_display@1: error 1: invalid arguments for wl_shm@7.create_pool

MozCrashReason: wl_display@1: error 1: invalid arguments for zwp_linux_buffer_params_v1@1045.add

MozCrashReason: wl_display@1: error 1: invalid arguments for zwp_linux_buffer_params_v1@686.add

MozCrashReason: Error sending request: Broken pipe

MozCrashReason: wl_display@1: error 1: invalid arguments for zwp_linux_buffer_params_v1@458.add

MozCrashReason: wl_display@1: error 1: invalid arguments for zwp_linux_buffer_params_v1@832.add

MozCrashReason: request could not be marshaled: can't send file descriptor

MozCrashReason: Error sending request: Broken pipe
```
Comment 2 Philip McGrath 2021-11-19 22:28:30 UTC
Also, I've tried every combination of graphics drivers I can think of, including Nouveau, proprietary NVIDIA, and integrated Intel, with no observable difference.
Comment 3 Philip McGrath 2021-11-19 22:30:53 UTC
Oh, and this is all on a 4K@2x display.
Comment 4 Nate Graham 2021-11-23 23:08:39 UTC
*** Bug 445778 has been marked as a duplicate of this bug. ***
Comment 5 Méven Car 2021-11-24 12:00:43 UTC
"I have experienced this using the Wayland session on Kubuntu 21.10 with 5.23.3 from the Kubuntu backports PPA."

(K)ubuntu does not use the KDE Qt patch collection, this reduces stability especially with Wayland.

We need to check if this is reproducible with neon/arch.
Comment 6 Philip McGrath 2021-11-24 21:26:00 UTC
(In reply to Méven Car from comment #5)
> "I have experienced this using the Wayland session on Kubuntu 21.10 with
> 5.23.3 from the Kubuntu backports PPA."
> 
> (K)ubuntu does not use the KDE Qt patch collection, this reduces stability
> especially with Wayland.

Do you know of a thread or issue or something where I could find more discussion on this? I hadn't been aware of it, and I haven't found much more with some searching on my own.
Comment 7 Philip McGrath 2021-12-04 04:30:32 UTC
I experienced this issue again just now, immediately after I updated my system to:

```
Operating System: Kubuntu 21.10
KDE Plasma Version: 5.23.4
KDE Frameworks Version: 5.88.0
Qt Version: 5.15.2
Kernel Version: 5.13.0-22-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × Intel® Xeon® W-11955M CPU @ 2.60GHz
Memory: 31.1 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics
```

This time, Firefox (94, from the .deb package) showed rectangles in the theme's background color initially, but then proceeded to start up successfully: only Plasma crashed. The crash reporter said that the crash was the "result of an earlier crash in the compositor", which has sometimes (not always) happened before, so I had installed what I needed to follow the [instructions on the Wiki](https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl) to get the crash log from gdb. (Hopefully this is the right one, and relevant.) Here it is:

```
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=139914430863744)
    at pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=139914430863744)
    at pthread_kill.c:80
#2  __GI___pthread_kill (threadid=139914430863744, signo=signo@entry=6)
    at pthread_kill.c:91
#3  0x00007f4061fd3476 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/posix/raise.c:26
#4  0x00007f4061fb97b7 in __GI_abort () at abort.c:79
#5  0x00007f406245eba3 in qt_message_fatal (message=<synthetic pointer>..., 
    context=...) at global/qlogging.cpp:1914
#6  QMessageLogger::fatal (this=this@entry=0x7ffd0d77d730, 
    msg=msg@entry=0x7f406071b078 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
#7  0x00007f406067fe45 in QtWaylandClient::QWaylandDisplay::checkError (
    this=<optimized out>) at ./src/client/qwaylanddisplay.cpp:209
#8  QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>)
    at ./src/client/qwaylanddisplay.cpp:204
#9  0x00007f406069006a in QtWaylandClient::QWaylandDisplay::flushRequests (
    this=0x55f6040fb0d0) at ./src/client/qwaylanddisplay.cpp:222
#10 0x00007f40626bea88 in doActivate<false> (sender=0x55f604112ad0, 
    signal_index=3, argv=0x7ffd0d77d890) at kernel/qobject.cpp:3898
#11 0x00007f40626b7d67 in QMetaObject::activate (
    sender=sender@entry=0x55f604112ad0, 
    m=m@entry=0x7f4062924180 <QSocketNotifier::staticMetaObject>, 
    local_signal_index=local_signal_index@entry=0, 
    argv=argv@entry=0x7ffd0d77d890) at kernel/qobject.cpp:3946
#12 0x00007f40626c1f63 in QSocketNotifier::activated (
    this=this@entry=0x55f604112ad0, _t1=..., _t2=<optimized out>, _t3=...)
    at .moc/moc_qsocketnotifier.cpp:178
#13 0x00007f40626c2793 in QSocketNotifier::event (this=0x55f604112ad0, 
    e=0x7ffd0d77d9b0) at kernel/qsocketnotifier.cpp:302
#14 0x00007f40633756b3 in QApplicationPrivate::notify_helper (
    this=<optimized out>, receiver=0x55f604112ad0, e=0x7ffd0d77d9b0)
    at kernel/qapplication.cpp:3632
#15 0x00007f406268716a in QCoreApplication::notifyInternal2 (
    receiver=0x55f604112ad0, event=0x7ffd0d77d9b0)
    at kernel/qcoreapplication.cpp:1063
#16 0x00007f40626e1155 in socketNotifierSourceDispatch (source=0x55f604113080)
    at kernel/qeventdispatcher_glib.cpp:107
#17 0x00007f4060abc8bb in g_main_dispatch (context=0x55f6040f7050)
    at ../../../glib/gmain.c:3337
#18 g_main_context_dispatch (context=0x55f6040f7050)
    at ../../../glib/gmain.c:4055
#19 0x00007f4060b0ff08 in g_main_context_iterate.constprop.0 (
    context=context@entry=0x55f6040f7050, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>)
    at ../../../glib/gmain.c:4131
#20 0x00007f4060aba003 in g_main_context_iteration (context=0x55f6040f7050, 
    may_block=1) at ../../../glib/gmain.c:4196
#21 0x00007f40626e0548 in QEventDispatcherGlib::processEvents (
    this=0x55f604112f20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#22 0x00007f4062685a9b in QEventLoop::exec (this=0x55f605326c30, flags=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#23 0x00007f3fe826882a in qt_plugin_instance ()
   from /usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kscreen/KSC_KWayland.so
#24 0x00007f406267cd6f in QLibraryPrivate::pluginInstance (this=0x55f6057ae730)
    at plugin/qlibrary.cpp:557
#25 0x00007f3ff802c9ff in KScreen::BackendManager::loadBackendPlugin(QPluginLoader*, QString const&, QMap<QString, QVariant> const&) ()
   from /lib/x86_64-linux-gnu/libKF5Screen.so.7
#26 0x00007f3ff8032274 in KScreen::BackendManager::loadBackendInProcess(QString const&) () from /lib/x86_64-linux-gnu/libKF5Screen.so.7
#27 0x00007f3ff80327b3 in ?? () from /lib/x86_64-linux-gnu/libKF5Screen.so.7
#28 0x00007f3ff80383d6 in KScreen::GetConfigOperation::start() ()
   from /lib/x86_64-linux-gnu/libKF5Screen.so.7
#29 0x00007f40626b473e in QObject::event (this=0x55f605a271d0, 
    e=0x55f605a27330) at kernel/qobject.cpp:1314
#30 0x00007f40633756b3 in QApplicationPrivate::notify_helper (
    this=<optimized out>, receiver=0x55f605a271d0, e=0x55f605a27330)
    at kernel/qapplication.cpp:3632
#31 0x00007f406268716a in QCoreApplication::notifyInternal2 (
    receiver=0x55f605a271d0, event=0x55f605a27330)
    at kernel/qcoreapplication.cpp:1063
#32 0x00007f406268a257 in QCoreApplicationPrivate::sendPostedEvents (
    receiver=0x0, event_type=0, data=0x55f6040ceec0)
    at kernel/qcoreapplication.cpp:1817
#33 0x00007f40626e0ef7 in postEventSourceDispatch (s=0x55f604117cf0)
    at kernel/qeventdispatcher_glib.cpp:277
#34 0x00007f4060abc8bb in g_main_dispatch (context=0x55f6040f7050)
    at ../../../glib/gmain.c:3337
#35 g_main_context_dispatch (context=0x55f6040f7050)
    at ../../../glib/gmain.c:4055
#36 0x00007f4060b0ff08 in g_main_context_iterate.constprop.0 (
    context=context@entry=0x55f6040f7050, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>)
    at ../../../glib/gmain.c:4131
#37 0x00007f4060aba003 in g_main_context_iteration (context=0x55f6040f7050, 
    may_block=1) at ../../../glib/gmain.c:4196
#38 0x00007f40626e0548 in QEventDispatcherGlib::processEvents (
    this=0x55f604112f20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#39 0x00007f4062685a9b in QEventLoop::exec (this=this@entry=0x7ffd0d77e2a0, 
    flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#40 0x00007f406268e024 in QCoreApplication::exec ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#41 0x00007f4062a61d10 in QGuiApplication::exec ()
    at kernel/qguiapplication.cpp:1867
#42 0x00007f4063375629 in QApplication::exec () at kernel/qapplication.cpp:2824
#43 0x000055f602af6d09 in main (argc=<optimized out>, argv=0x7ffd0d77e3d0)
    at ./shell/main.cpp:238
```
Comment 8 Vlad Zahorodnii 2022-01-12 15:32:21 UTC

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