Summary: | kioworker thumbnail.so crashes with Oxygen on X11 | ||
---|---|---|---|
Product: | [Frameworks and Libraries] kio-extras | Reporter: | Loïc Yhuel <loic.yhuel> |
Component: | Thumbnails and previews | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | ahyangyi, john.kizer, kivanov1992, nate, paolo.brini, sergio, xapola |
Priority: | NOR | Keywords: | X11-only |
Version First Reported In: | 25.04.0 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/network/kio-extras/-/commit/65bbd59f7101a1178633ff70dd0f31590257a96f | Version Fixed In: | 25.04.3 |
Sentry Crash Report: |
Description
Loïc Yhuel
2025-05-13 00:55:21 UTC
I have the same problem preview stop to work when I choose on settings -> application style -> oxygen and window decoration ->oxygen , but even with previews working with breeze application style . kioworker crash a lot on dolphin Tue 2025-05-13 19:16:19 WEST 74357 1000 1000 SIGSEGV present /usr/libexec/kf6/kioworker > Tue 2025-05-13 19:16:22 WEST 74374 1000 1000 SIGSEGV present /usr/libexec/kf6/kioworker > Tue 2025-05-13 19:16:23 WEST 74389 1000 1000 SIGSEGV present /usr/libexec/kf6/kioworker coredumpctl info -1 PID: 74619 (kioworker) UID: 1000 (sergio) GID: 1000 (sergio) Signal: 11 (SEGV) Timestamp: Tue 2025-05-13 19:16:43 WEST (19s ago) Command Line: /usr/libexec/kf6/kioworker /usr/lib64/qt6/plugins/kf6/kio/thumbnail.so thumbnail "" local:/run/user/1000/dolphinagjOzn.19.kioworker.socket Executable: /usr/libexec/kf6/kioworker Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.kde.dolphin@845b870f508f4402b583f85c1047f809.service Unit: user@1000.service User Unit: app-org.kde.dolphin@845b870f508f4402b583f85c1047f809.service Slice: user-1000.slice Owner UID: 1000 (sergio) Storage: /var/lib/systemd/coredump/core.kioworker.1000.b4fb919000584c698323acf0162c762b.74619.1747160203000000.zst (present) Size on Disk: 13.9M Package: kf6-kio/6.13.0-1.fc41 build-id: faa5a08dbb3c419623585b98750b33ba7e119325 Thank you. I confirm that. Should we just abandon offscreen for X11? (In reply to Sérgio Basto from comment #1) > I have the same problem preview stop to work when I choose on settings -> > application style -> oxygen and window decoration ->oxygen , but > even with previews working with breeze application style . kioworker crash a > lot on dolphin > > Tue 2025-05-13 19:16:19 WEST 74357 1000 1000 SIGSEGV present > /usr/libexec/kf6/kioworker > > > Tue 2025-05-13 19:16:22 WEST 74374 1000 1000 SIGSEGV present > /usr/libexec/kf6/kioworker > > > Tue 2025-05-13 19:16:23 WEST 74389 1000 1000 SIGSEGV present > /usr/libexec/kf6/kioworker > > coredumpctl info -1 > PID: 74619 (kioworker) > UID: 1000 (sergio) > GID: 1000 (sergio) > Signal: 11 (SEGV) > Timestamp: Tue 2025-05-13 19:16:43 WEST (19s ago) > Command Line: /usr/libexec/kf6/kioworker > /usr/lib64/qt6/plugins/kf6/kio/thumbnail.so thumbnail "" > local:/run/user/1000/dolphinagjOzn.19.kioworker.socket > Executable: /usr/libexec/kf6/kioworker > Control Group: > /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.kde. > dolphin@845b870f508f4402b583f85c1047f809.service > Unit: user@1000.service > User Unit: app-org.kde.dolphin@845b870f508f4402b583f85c1047f809.service > Slice: user-1000.slice > Owner UID: 1000 (sergio) > > Storage: > /var/lib/systemd/coredump/core.kioworker.1000. > b4fb919000584c698323acf0162c762b.74619.1747160203000000.zst (present) > Size on Disk: 13.9M > Package: kf6-kio/6.13.0-1.fc41 > build-id: faa5a08dbb3c419623585b98750b33ba7e119325 Sérgio, is it also on X11? (In reply to Konstantin Ivanov from comment #2) > Thank you. I confirm that. Should we just abandon offscreen for X11? I don't know. This evening I will check the commit and I will check on wayland , I think also got crashs with kioworker on wayland . I have NVIDIA GeForce GTX 1050 and an integrated Intel® UHD Graphics 630, I tested disabled nvidia and use only the Intel and I got the same results Operating System: Fedora Linux 41 KDE Plasma Version: 6.3.5 KDE Frameworks Version: 6.13.0 Qt Version: 6.8.2 Kernel Version: 6.14.6-200.fc41.x86_64 (64-bit) Graphics Platform: X11 (In reply to Konstantin Ivanov from comment #2) > Should we just abandon offscreen for X11? There would probably still be something which would call KWindowSystem::platform() on the wayland platform. The after switching to offscreen, KWindowSystem::isPlatformWayland() would still return true, which might cause issues in the style or elsewhere. This is even documented in kwindowsystem.h for KWindowSystem::platform() : The Platform gets resolved the first time the method is invoked and cached for further usages. I only see two ways to properly switch to offscreen : - use another way to get themeName, to avoid the creation of the QGuiApplication in the main process : maybe a dedicated subprocess, or a fork() - add something like KWindowSystem::resetPlatform() to reset the cached value This also happens to me (I'm on Gentoo) for both kio 6.13 and 6.14. I am on X11. For Fedora, I have noticed that this problem seems to have a pretty high count on ABRT analytics: https://retrace.fedoraproject.org/faf/problems/bthash/?bth=70f8d1c8b9575b220c4c0306626a422224cafcf7 (In reply to Yi Yang from comment #6) > For Fedora, I have noticed that this problem seems to have a pretty high > count on ABRT analytics: That's pretty bad. The way I see it now it's basically guaranteed to crash under X11. (In reply to Loïc Yhuel from comment #5) > I only see two ways to properly switch to offscreen : > - use another way to get themeName, to avoid the creation of the > QGuiApplication in the main process : maybe a dedicated subprocess, or a > fork() > - add something like KWindowSystem::resetPlatform() to reset the cached > value Thanks for the information. I'll try to look into that, but I hope someone experienced gets involved because I know almost nothing about KDE internals or Qt. The history of this is the following: there's a Wayland-only bug for generating HTML previews https://bugs.kde.org/show_bug.cgi?id=500173 that happens because of Qt bug https://bugreports.qt.io/browse/QTBUG-134012 My two or three commits are a hackish workaround that doesn't work for X11, as I've now realized. So basically the current situation is either Wayland users should live without HTML previews (without my fix they have to be turned off, otherwise they disrupt the workflow), or X11 users should live without previews at all. The latter option seems to be grossly unfair, while the former is just a small inconvenience. revert https://invent.kde.org/network/kio-extras/-/commit/e11dfd86bd075afc7ff5c5eec70bc5d2377c4168 and previous commit https://invent.kde.org/network/kio-extras/-/commit/1fe1548a7e595107d5ed00b30b031b74ac658ed4 fixes kioworker crashes but I have other crash , for example when lunch steam from kde left panel , some other things are fixed liked in desktop settings previews of wallpaper images , also previews seems to work with oxygen theme (In reply to Sérgio Basto from comment #8) in resume, thanks the main issues are all fixed (with revert of the two commits mentioned) Hi, (In reply to Konstantin Ivanov from comment #2) > Thank you. I confirm that. Should we just abandon offscreen for X11? I had fixed more 2 bugs that I found , one not related https://bugs.kde.org/show_bug.cgi?id=488326#c115 but the crash when I try start Steam from kde left panel is related, in the matter that the problem is "PrefersNonDefaultGPU=true from .desktop file of Steam" https://github.com/ValveSoftware/steam-for-linux/issues/9940 removing PrefersNonDefaultGPU=true from steam.desktop make Steam work. I guess the problem is when offscreen is set, somehow offscreen is set to use the integrated GPU instead the defaultGPU (which in my case is the discrete GPU) . Also that is why `kcmshell6 kcm_qtquicksettings is important to set the correct rendering backend . In resume when KDE try use the integrated GPU to render it crash I guess , is sort of a problem when is not using the default GPU , i.e. the problem is not set offscreen in the app (I think wayland also have the same kind of problem) , the problem is offscreen that crash and should work and it was working in previous versions , I think . In the case when is enabled discrete GPU by default, shouldn't be a problem some graphics not being rendered by the discrete GPU A possibly relevant merge request was started @ https://invent.kde.org/network/kio-extras/-/merge_requests/440 *** Bug 504913 has been marked as a duplicate of this bug. *** My bug report @ https://bugs.kde.org/show_bug.cgi?id=503799 is also related. Hopefully the above commit will fix up thumbnails on X11. Git commit c926156c88b64cd810b232563dd4d28841841ef2 by Nicolas Fella. Committed on 13/06/2025 at 10:05. Pushed by nicolasfella into branch 'master'. [thumbnail] Don't create a temporary QApplication to determine the platformtheme name The current code creates a qapp to query the platform theme name and use that to configure the actual qapp. We do that since we want to use the offscreen platformtheme with our actual platformtheme plugin. However by instantiating the KDEPlatformTheme we trigger KWindowSystem's platform detection code, which will cache the platform information (X11 or Wayland). Later we want that to be 'Unknown' though. This trips up other code that relies on the KWindowSystem platform check before doing windowsystem-specific stuff. What we really want is a way to obtain the platformtheme name without creating an actual instance. Qt doesn't have API to do that, so copy the bit of code that determines the platform from QGenericUnixServices M +0 -9 thumbnail/CMakeLists.txt M +86 -13 thumbnail/thumbnail.cpp https://invent.kde.org/network/kio-extras/-/commit/c926156c88b64cd810b232563dd4d28841841ef2 Git commit 65bbd59f7101a1178633ff70dd0f31590257a96f by Nicolas Fella. Committed on 13/06/2025 at 12:20. Pushed by nicolasfella into branch 'release/25.04'. [thumbnail] Don't create a temporary QApplication to determine the platformtheme name The current code creates a qapp to query the platform theme name and use that to configure the actual qapp. We do that since we want to use the offscreen platformtheme with our actual platformtheme plugin. However by instantiating the KDEPlatformTheme we trigger KWindowSystem's platform detection code, which will cache the platform information (X11 or Wayland). Later we want that to be 'Unknown' though. This trips up other code that relies on the KWindowSystem platform check before doing windowsystem-specific stuff. What we really want is a way to obtain the platformtheme name without creating an actual instance. Qt doesn't have API to do that, so copy the bit of code that determines the platform from QGenericUnixServices (cherry picked from commit c926156c88b64cd810b232563dd4d28841841ef2) M +0 -9 thumbnail/CMakeLists.txt M +86 -13 thumbnail/thumbnail.cpp https://invent.kde.org/network/kio-extras/-/commit/65bbd59f7101a1178633ff70dd0f31590257a96f |