FS#63614 - 100% CPU usage from Plasmashell when using ostree 2019.3

Attached to Project: Arch Linux
Opened by Alphazo (alphazo) - Saturday, 31 August 2019, 23:37 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 08 September 2019, 09:17 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Starting August 28, I noticed that one of the core on my CPU was stuck at 100% running plasmashell.
I didn't some investigation on packages updated on 08/28 and found out that simply downgrading ostree to 2019.2 fixes the problem and removes the 100% CPU usage from plasmashell.
Now I don't know the reason for the issue, maybe it's linked to ostree that is used by flatpak and also by the KDE GUI/widget Discover.
Another user has reported the same error and at the same date on the forum.
This task depends upon

Closed by  Antonio Rojas (arojas)
Sunday, 08 September 2019, 09:17 GMT
Reason for closing:  Fixed
Additional comments about closing:  ostree 2019.3-3
Comment by André Fettouhi (A.Fettouhi) - Sunday, 01 September 2019, 17:29 GMT
I can confirm this issue as well. Haven't tried to downgrade ostree yet. Btw I am the user that reported this on the forum. Here is the initial post on the forum:

https://bbs.archlinux.org/viewtopic.php?id=248739
Comment by André Fettouhi (A.Fettouhi) - Monday, 02 September 2019, 17:35 GMT
Can now confirm that the downgrade of ostree fixes the issue with KDE Plasma for me as well. I also noticed that with the latest version of ostree install, that KDE hangs for a short while at logout/reboot. For the 100 % CPU spike on one core happens when I right click on widgets on my desktop. I have two widgets showing my home folder and my desktop folder with icons. When I right click on these the plasma shell locks up completely and I can see in a different tty that kwin_x11 uses 100 % of my CPU and I have to kill or reboot.
Comment by André Fettouhi (A.Fettouhi) - Tuesday, 03 September 2019, 12:19 GMT
Should this be reported upstream to ostree? Or is this an issue with KDE Plasma?
Comment by Antonio Rojas (arojas) - Tuesday, 03 September 2019, 17:36 GMT
It's impossible to say with so little information. You'd need to provide a backtrace, at the very least.
Comment by André Fettouhi (A.Fettouhi) - Tuesday, 03 September 2019, 17:39 GMT
Yeah, I understand. How can I do a backtrace on this then, any suggestions. I never did backtrace on KDE before.
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 08:52 GMT
run "gdb -p `pidof plasmashell`" as root when it's using 100% CPU, then type "thread apply all bt"
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 12:57 GMT
Here is the output in the attached txt file. I triggered the 100 % CPU usage by interacting with the arch updater widget I have installed from AUR. The CPU shoots up to 100 % when I try to check for updates with it manually. Hope this gives sheds some light on what is happening.
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 13:17 GMT
The backtrace points directly to that "archupdate" plasmoid. Unless you can reproduce it without it you will have to report it to its developers.
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 13:31 GMT
Here is the output triggered by right clicking on one of the two folder widgets I have running on my Plasma shell. This locks up the whole shell it doesn't respond and kwin_x11 uses 100 % of the CPU. I can still ALT+TAB between applications but the lower panel is frozen and doesn't changing apps or respond to clicks.
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 14:02 GMT
what's the output of "ldd /usr/lib/qt/plugins/kerfuffle/kerfuffle_libarchive.so"?
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 14:03 GMT
[af@andre ~]$ ldd /usr/lib/qt/plugins/kerfuffle/kerfuffle_libarchive.so
linux-vdso.so.1 (0x00007fff17375000)
libkerfuffle.so.19 => /usr/lib/libkerfuffle.so.19 (0x00007f7492432000)
libarchive.so.13 => /usr/lib/libarchive.so.13 (0x00007f7492373000)
libKF5I18n.so.5 => /usr/lib/libKF5I18n.so.5 (0x00007f749231e000)
libKF5CoreAddons.so.5 => /usr/lib/libKF5CoreAddons.so.5 (0x00007f7492278000)
libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0x00007f7491be1000)
libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f74916d7000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f74914ed000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f749132a000)
libKF5Pty.so.5 => /usr/lib/libKF5Pty.so.5 (0x00007f749131d000)
libKF5KIOFileWidgets.so.5 => /usr/lib/libKF5KIOFileWidgets.so.5 (0x00007f7491233000)
libKF5KIOWidgets.so.5 => /usr/lib/libKF5KIOWidgets.so.5 (0x00007f74910e3000)
libKF5KIOCore.so.5 => /usr/lib/libKF5KIOCore.so.5 (0x00007f7490f1b000)
libKF5IconThemes.so.5 => /usr/lib/libKF5IconThemes.so.5 (0x00007f7490ed7000)
libKF5Completion.so.5 => /usr/lib/libKF5Completion.so.5 (0x00007f7490ea0000)
libKF5ConfigWidgets.so.5 => /usr/lib/libKF5ConfigWidgets.so.5 (0x00007f7490e49000)
libKF5WidgetsAddons.so.5 => /usr/lib/libKF5WidgetsAddons.so.5 (0x00007f7490ceb000)
libKF5ConfigGui.so.5 => /usr/lib/libKF5ConfigGui.so.5 (0x00007f7490cc7000)
libKF5ConfigCore.so.5 => /usr/lib/libKF5ConfigCore.so.5 (0x00007f7490c5d000)
libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f7490679000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f74903a5000)
libacl.so.1 => /usr/lib/libacl.so.1 (0x00007f749019d000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f7490170000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f748ff4a000)
libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f748fea2000)
liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f748fe7f000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f748fe6c000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f748fc55000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f748fc34000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f748faee000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f748fad4000)
libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f748fa2b000)
libicui18n.so.64 => /usr/lib/libicui18n.so.64 (0x00007f748f736000)
libicuuc.so.64 => /usr/lib/libicuuc.so.64 (0x00007f748f55e000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f748f559000)
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007f748f4d8000)
libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007f748f4c1000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f748f39d000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007f749254c000)
libutil.so.1 => /usr/lib/libutil.so.1 (0x00007f748f398000)
libKF5Bookmarks.so.5 => /usr/lib/libKF5Bookmarks.so.5 (0x00007f748f344000)
libKF5XmlGui.so.5 => /usr/lib/libKF5XmlGui.so.5 (0x00007f748f22c000)
libKF5Solid.so.5 => /usr/lib/libKF5Solid.so.5 (0x00007f748f13d000)
libKF5JobWidgets.so.5 => /usr/lib/libKF5JobWidgets.so.5 (0x00007f748f115000)
libKF5ItemViews.so.5 => /usr/lib/libKF5ItemViews.so.5 (0x00007f748f0d8000)
libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0x00007f748ef1d000)
libKF5Codecs.so.5 => /usr/lib/libKF5Codecs.so.5 (0x00007f748eee0000)
libQt5Xml.so.5 => /usr/lib/libQt5Xml.so.5 (0x00007f748ee9e000)
libKF5Service.so.5 => /usr/lib/libKF5Service.so.5 (0x00007f748ede9000)
libKF5WindowSystem.so.5 => /usr/lib/libKF5WindowSystem.so.5 (0x00007f748ed99000)
libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0x00007f748ecfd000)
libKF5Crash.so.5 => /usr/lib/libKF5Crash.so.5 (0x00007f748ecf2000)
libKF5DBusAddons.so.5 => /usr/lib/libKF5DBusAddons.so.5 (0x00007f748ecdb000)
libKF5AuthCore.so.5 => /usr/lib/libKF5AuthCore.so.5 (0x00007f748ecbc000)
libQt5Svg.so.5 => /usr/lib/libQt5Svg.so.5 (0x00007f748ec63000)
libKF5Archive.so.5 => /usr/lib/libKF5Archive.so.5 (0x00007f748ec24000)
libKF5GuiAddons.so.5 => /usr/lib/libKF5GuiAddons.so.5 (0x00007f748ec08000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f748eb75000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f748eb3d000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f748ea46000)
libattr.so.1 => /usr/lib/libattr.so.1 (0x00007f748e841000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f748e834000)
libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f748e716000)
libicudata.so.64 => /usr/lib/libicudata.so.64 (0x00007f748ccd2000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f748cc5f000)
libQt5PrintSupport.so.5 => /usr/lib/libQt5PrintSupport.so.5 (0x00007f748cbea000)
libKF5TextWidgets.so.5 => /usr/lib/libKF5TextWidgets.so.5 (0x00007f748cba3000)
libKF5Attica.so.5 => /usr/lib/libKF5Attica.so.5 (0x00007f748cadc000)
libKF5GlobalAccel.so.5 => /usr/lib/libKF5GlobalAccel.so.5 (0x00007f748cab8000)
libudev.so.1 => /usr/lib/libudev.so.1 (0x00007f748ca8e000)
libQt5X11Extras.so.5 => /usr/lib/libQt5X11Extras.so.5 (0x00007f748ca87000)
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f748c9f5000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f748c8b6000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f748c88c000)
libxcb-keysyms.so.1 => /usr/lib/libxcb-keysyms.so.1 (0x00007f748c689000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f748c63f000)
libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f748c60a000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f748c5f5000)
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f748c539000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f748c46b000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f748c446000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f748c423000)
libKF5SonnetUi.so.5 => /usr/lib/libKF5SonnetUi.so.5 (0x00007f748c3f0000)
libKF5SonnetCore.so.5 => /usr/lib/libKF5SonnetCore.so.5 (0x00007f748c3bf000)
libQt5TextToSpeech.so.5 => /usr/lib/libQt5TextToSpeech.so.5 (0x00007f748c3af000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f748c3aa000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f748c3a2000)
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 14:08 GMT
what about "ldd /usr/lib/libarchive.so.13"?
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 14:09 GMT
[af@andre ~]$ ldd /usr/lib/libarchive.so.13
linux-vdso.so.1 (0x00007ffd842d3000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f3530d9e000)
libacl.so.1 => /usr/lib/libacl.so.1 (0x00007f3530b96000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f3530b69000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f3530943000)
libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f353089b000)
liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f353087a000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f3530865000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f353064e000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f353048b000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f3530486000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f3530465000)
libattr.so.1 => /usr/lib/libattr.so.1 (0x00007f3530260000)
/usr/lib64/ld-linux-x86-64.so.2 (0x00007f353118b000)
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 14:12 GMT
could you rebuild ark with debug symbols and get a new backtrace? thanks.
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 14:14 GMT
I could if you can give me some hints to what I need to change in the ark package in order to build it with debug symbols.
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 14:17 GMT
Just add "options=(debug !strip)"
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 14:19 GMT
In the PKGBUILD?
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 14:28 GMT
Trying to build the package now with debug symbols but I get a

ark-19.08.0.tar.xz ... FAILED (unknown public key DBD2CE893E2D1C87)
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 15:39 GMT
Got the ark package build and installed with debug symbols. Here is the backtrace attached.
Comment by Antonio Rojas (arojas) - Wednesday, 04 September 2019, 18:34 GMT
No idea what's going on here. Ark gets stuck waiting for the ldd command to run, which works fine otherwise on your system. I also fail to see what ostree has to do with all this. I'm afraid there's not much we can do here without a consistent way to reproduce it.
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 18:51 GMT
Well, that sucks. I don't understand either why ostree is the trigger for all this. I just know downgrading to 2019.2 removes the spike in CPU from plasmashell and kwin_x11. I can reproduce these issues consistently ehen ostree 2019.3 is installed.
Comment by André Fettouhi (A.Fettouhi) - Wednesday, 04 September 2019, 18:53 GMT
I don't know if the original poster of this bug has some insights to this. Since reported the bug and was the one that figured out that downgrading ostree resolved the issue.
Comment by Alphazo (alphazo) - Wednesday, 04 September 2019, 21:31 GMT
I don't have much information beside what André reported. I found the workaround by downgrading all my packages to the day before and then upgraded them one after one in order to find the culprit one. I do have a fair amount of widgets installed like CPU load, Arch Update, Battery & backlight control, Caffeine Plus, Display control, Intel p-state, Task manager, ScreenRez, systemd control and so on.
Comment by André Fettouhi (A.Fettouhi) - Thursday, 05 September 2019, 04:37 GMT
Hey @alphazo I can see that you also have the Arch Update installed. Have you tried to remove it/uninstall it and then see if you can get the CPU to flare to 100 % with the latest ostree? I ask this because this is one of the triggers for me at least I have been able to isolate.
Comment by Ruben Bakker (rmbakker88) - Thursday, 05 September 2019, 06:58 GMT
I had a similar issue, but with latte-dock on KDE Plasma.

https://bugs.kde.org/show_bug.cgi?id=411421 my issue
https://bugs.kde.org/show_bug.cgi?id=411415 another user

it is triggered (on my and his system) simply by pressing the "super/meta" key for a period longer than 1 second. In latte-dock, this should result in showing the dock and giving the user access to shortcuts to launch applications. instead it doesn't and freezes the entire latte-dock. everything else keeps working. The same slow behavior is observed when changing the launch properties of an application in plasma launcher. downgrading ostree to 2019.2 solves the issue, nothing lags, nothing freezes.
Comment by André Fettouhi (A.Fettouhi) - Thursday, 05 September 2019, 07:00 GMT
Seems more like that ostree is the culprit for this but why?
Comment by André Fettouhi (A.Fettouhi) - Thursday, 05 September 2019, 15:55 GMT

Loading...