Bug 451976

Summary: Plasma Crashes On Wayland Session (using NVIDIA drivers) After Upgrading Kubuntu 21.10 -> 22.04
Product: [Plasma] plasmashell Reporter: Kyrylo Bohdanenko <kirill.bogdanenko>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: crash CC: kde, kirill.bogdanenko, nate, profhfarmer, vasua.ukraine, yureadingthis
Priority: NOR Keywords: drkonqi, wayland
Version: 5.24.3   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Plasmashell core info (from coredumpctl)
Output of running /usr/bin/startplasma-wayland
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Kyrylo Bohdanenko 2022-03-27 23:50:30 UTC
Application: plasmashell (5.24.3)

Qt Version: 5.15.2
Frameworks Version: 5.92.0
Operating System: Linux 5.15.0-23-generic x86_64
Windowing System: Wayland
Distribution: Ubuntu Jammy Jellyfish (development branch)
DrKonqi: 5.24.3 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
* Plasma 5.24 (from backports) was running totally fine on Kubuntu 21.10
* Upgraded to 22.04 using do-release-upgrade -d
* Starting Wayland session shows to subsequent error messages: ksplash-something and then plasma (X11 session works but is barely useful on HiDPI)


- Custom settings of the application:
* Wayland session

The crash can be reproduced every time.

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

[KCrash Handler]
#4  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140627333495232) at ./nptl/pthread_kill.c:44
#5  __pthread_kill_internal (signo=6, threadid=140627333495232) at ./nptl/pthread_kill.c:78
#6  __GI___pthread_kill (threadid=140627333495232, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#7  0x00007fe65e795476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007fe65e77b7f3 in __GI_abort () at ./stdlib/abort.c:79
#9  0x00007fe65ec37bb3 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fe65ce17354 in  () at /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#11 0x00007fe65ce1806a in QtWaylandClient::QWaylandDisplay::flushRequests() () at /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5
#12 0x00007fe65ee97e58 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007fe65eeb994b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007fe65ee5ee6b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fe65ee673f4 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x000055a4acc12dc9 in  ()
#17 0x00007fe65e77cd90 in __libc_start_call_main (main=main@entry=0x55a4acc11f70, argc=argc@entry=1, argv=argv@entry=0x7ffd334571a8) at ../sysdeps/nptl/libc_start_call_main.h:58
#18 0x00007fe65e77ce40 in __libc_start_main_impl (main=0x55a4acc11f70, argc=1, argv=0x7ffd334571a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd33457198) at ../csu/libc-start.c:392
#19 0x000055a4acc12ee5 in  ()
[Inferior 1 (process 6440) detached]

Possible duplicates by query: bug 451939, bug 451124, bug 451114, bug 450989, bug 450809.

Reported using DrKonqi
Comment 1 Nate Graham 2022-03-28 22:02:36 UTC
Can't see any KDE code in the backtrace, but there may be something in #16 0x000055a4acc12dc9 in  (), which is currently missing.

Do you see an crashes for kwin_wayland too? Or only Plasma? The command-line `coredumpctl` utility can tell you.
Comment 2 Kyrylo Bohdanenko 2022-03-29 08:40:32 UTC
kwin_wayland seems to work just fine. In fact, I get a Konsole window open w/o Plasma showing up. Starting /usr/bin/startplasma-wayland from Konsole causes the same crash to happen.

Additionally, I think this is related to NVIDIA drivers, because when I limited prime to intel-only (sudo prime-select intel), Plasma started just fine.

I am going to try to update NVIDIA drivers and try to produce more meaningful stack traces. And also will attach output of /usr/bin/startplasma-wayland
Comment 3 Kyrylo Bohdanenko 2022-03-29 10:55:31 UTC
I wasn't able to find dbgsym packages for the requested files
* /usr/bin/plasmashell
* /lib/x86_64-linux-gnu/libQt5Core.so.5
* /lib/x86_64-linux-gnu/libQt5WaylandClient.so.5

However, I got core dumps from coredumpctl. At the startup two coredumps are created:

TIME                          PID  UID  GID SIG     COREFILE EXE                                    SIZE
Tue 2022-03-29 12:37:34 CEST 1685 1000 1000 SIGABRT present  /usr/bin/plasmashell                  14.0M
Tue 2022-03-29 12:37:37 CEST 1278 1000 1000 SIGABRT present  /usr/bin/ksplashqml                    2.5M

I am attaching core dump and info from the plasmashell one.  Also attaching output of running /usr/bin/startplasma-wayland.

The suspicious lines from running startplasma-wayland are:
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
[destroyed object]: error 7: importing the supplied dmabufs failed
The Wayland connection experienced a fatal error: Protocol error
Comment 4 Kyrylo Bohdanenko 2022-03-29 11:00:49 UTC
Created attachment 147816 [details]
Plasmashell core info (from coredumpctl)
Comment 5 Kyrylo Bohdanenko 2022-03-29 11:01:42 UTC
Created attachment 147817 [details]
Output of running /usr/bin/startplasma-wayland
Comment 6 Kyrylo Bohdanenko 2022-03-29 11:08:03 UTC
Here is the core file: https://drive.google.com/file/d/1qRVisFEFY1Jxb8bJN7NT7b1IFuPA6EeX/view?usp=sharing

Can't attach it here directly, since it is too big (14M).
Comment 7 Kyrylo Bohdanenko 2022-03-29 11:18:03 UTC
Just for the sake of reproduction, here are the versions of packages which provide the binaries:

/usr/bin/plasmashell: plasma-workspace: 4:5.24.3-0ubuntu1
/lib/x86_64-linux-gnu/libQt5Core.so.5: libqt5core5a: 5.15.2+dfsg-15
/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5: libqt5waylandclient5: 5.15.2-4
Comment 8 Nate Graham 2022-03-31 21:10:06 UTC
We don't need the whole coredump file; we need yo to use that coredump file to get a text backtrace that has full debug symbols. Can you do that?
Comment 9 Kyrylo Bohdanenko 2022-03-31 21:44:24 UTC
Unfortunately I am unable to find packages with debug symbols for the requested binaries (does Ubuntu still provide these?). Therefore I am unable to produce a better backtrace.

E.g. When I search for plasma-workspace (package providing /usr/bin/plasmashell), I get plasma-workspace-data [installed], plasma-workspace-dev (headers, no debug symbols), plasma-workspace-wallpapers and plasma-workspace-wayland [installed]. No *-dbg or *-dbgsym package.

I provided the core dump and package versions in case someone has access to debug symbol packages.
Comment 10 Kyrylo Bohdanenko 2022-03-31 21:56:45 UTC
Please disregard my previous comment (just learned that one has to add ddebs repo to get -dbgsym packages). Here is the bettet stacktrace:

Application: Plasma (plasmashell), signal: Aborted

[KCrash Handler]
#4  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140492689308096) at ./nptl/pthread_kill.c:44
#5  __pthread_kill_internal (signo=6, threadid=140492689308096) at ./nptl/pthread_kill.c:78
#6  __GI___pthread_kill (threadid=140492689308096, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#7  0x00007fc7050e1476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007fc7050c77f3 in __GI_abort () at ./stdlib/abort.c:79
#9  0x00007fc705583bb3 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#10 QMessageLogger::fatal (this=this@entry=0x7ffe396eabe0, msg=msg@entry=0x7fc7037ef0b8 "The Wayland connection experienced a fatal error: %s") at global/qlogging.cpp:893
#11 0x00007fc703763354 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at ./src/client/qwaylanddisplay.cpp:211
#12 0x00007fc70376406a in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x557fcb547600) at ./src/client/qwaylanddisplay.cpp:222
#13 0x00007fc7057e3e58 in doActivate<false> (sender=0x557fcb5642c0, signal_index=4, argv=0x7ffe396eace0) at kernel/qobject.cpp:3898
#14 0x00007fc7057dd137 in QMetaObject::activate (sender=sender@entry=0x557fcb5642c0, m=m@entry=0x7fc705a4a840 <QAbstractEventDispatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#15 0x00007fc7057a8f77 in QAbstractEventDispatcher::awake (this=this@entry=0x557fcb5642c0) at .moc/moc_qabstracteventdispatcher.cpp:149
#16 0x00007fc70580594b in QEventDispatcherGlib::processEvents (this=0x557fcb5642c0, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#17 0x00007fc7057aae6b in QEventLoop::exec (this=this@entry=0x7ffe396eae00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#18 0x00007fc7057b33f4 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#19 0x0000557fcab5edce in main (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:238
[Inferior 1 (process 1351) detached]
Comment 11 Yoshio Sato 2022-04-02 11:43:16 UTC
I also have this problem on openSUSE Tumbleweed.
Heare is my bug report on openSUSE bugzilla https://bugzilla.opensuse.org/show_bug.cgi?id=1196975, maybe it will be usefull.
If you need, I can also try to provide some debug/stacktrace/etc.. .
Comment 12 Kyrylo Bohdanenko 2022-04-19 00:44:06 UTC
It seems that installing qtwayland from the PPA below changed the behaviour. Neither Plasma nor ksplashqml ckash anymore. But they do not show on the screen either

https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/4829
Comment 13 Nate Graham 2022-04-19 15:01:31 UTC
Ok cool. Sounds like it was a packaging issue. Feel free to report additional bugs separately.
Comment 14 Yoshio Sato 2022-04-19 21:36:47 UTC
(In reply to Nate Graham from comment #13)
> Ok cool. Sounds like it was a packaging issue. Feel free to report
> additional bugs separately.

Sorry for asking, but will it be fixed on openSUSE Tumbleweed/Leab15.4?
Or I should create here a new separate report about openSUSE?
Comment 15 Kyrylo Bohdanenko 2022-04-19 21:51:25 UTC
vasya.ukraine, that PPA I mentioned contains QtWayland with KDE patches. Debian also has plans to integrate them: https://salsa.debian.org/qt-kde-team/qt/qtwayland/-/merge_requests/5#note_305550

So look around, maybe notify OpenSuse maintainers aboutthese patches. I imagine it is doable.

That being said, Plasma still does not work for me on NVIDIA drivers, but the problem seems to be different.

Слава Україні ✌️
Comment 16 HFarmer 2022-04-23 15:55:08 UTC
Created attachment 148323 [details]
New crash information added by DrKonqi

plasmashell (5.24.4) using Qt 5.15.3

- What I was doing when the application crashed:
Launching Kde Plasma Wayland session resulting in an instant crash.  With the only error box showing at first mentioning Ksplash.qml.  NOTE this is with a AMD APU.  It might not be an Nvidia issue!   That said I do Have an Nvidia GPU for passthrough gaming and another one for using CUDA code and NVENC. d

- Unusual behavior I noticed:
It is such a hard and total crash that I cannot even CTRL-Alt Del and log out.  Were I not a very able user this would be a HUGE problem.   NOTE before I did an upgrade of Kubuntu 21.10 to 22.04 I had a working KDE Plasma Wayland environment.  I don't mean just barely working I mean ... other than a few apps not optimized for Kwin Wayland like Zoom I could use it as a default.   Furthermore. 

Everything works in KDE Plasma for X11 on this 22.04 system. 
Wayland works just fine in Gnome on this 22.04 system. 

This was an upgrade in place so I thought maybe I should try to nuke all my GUI's reboot, sudo apt update, etc etc  then apt install Kde again.   Still wayland gives me no joy.  

- Custom settings of the application:

To ensure there was not an issue of special settings uninstalled my Kde and gnome to the point where I booted to command line.  Then reinstalled this issue still occurs.  This could be a KDE problem or a Kubuntu problem.  Kubuntu being a main way people use KDE kinda makes this a KDE problem too.

-- Backtrace (Reduced):
#4  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140710538758592) at ./nptl/pthread_kill.c:44
#5  __pthread_kill_internal (signo=6, threadid=140710538758592) at ./nptl/pthread_kill.c:78
#6  __GI___pthread_kill (threadid=140710538758592, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#7  0x00007ff9bde52476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007ff9bde387f3 in __GI_abort () at ./stdlib/abort.c:79
Comment 17 yureadingthis 2022-05-08 14:39:06 UTC
Created attachment 148663 [details]
New crash information added by DrKonqi

plasmashell (5.24.4) using Qt 5.15.3

- What I was doing when the application crashed:
Starting a plasma wayland session after upgrading Ubuntu 21.04 to 22.04

- Custom settings of the application:
* This happens when I use the 5.15.0-27-lowlatency kernel image, but I also have a 5.15.0-5.4-liquorix-amd64 kernel image which runs fine. So it might either be a 5.15.0-27 issue, or somehow the liquorix kernel features work as a workaround.
* On a Nvidia GeForce GTX 1050 Ti Mobile graphics card and using the 470.103.01 proprietary Nvidia driver.

-- Backtrace (Reduced):
#4  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140341219895744) at ./nptl/pthread_kill.c:44
#5  __pthread_kill_internal (signo=6, threadid=140341219895744) at ./nptl/pthread_kill.c:78
#6  __GI___pthread_kill (threadid=140341219895744, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#7  0x00007fa3c0c68476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#8  0x00007fa3c0c4e7f3 in __GI_abort () at ./stdlib/abort.c:79