SUMMARY Crash seen in logs on startup, and when launching dolphin STEPS TO REPRODUCE 1. /usr/libexec/kf6/kioworker /usr/lib64/qt6/plugins/kf6/kio/thumbnail.so thumbnail "" local:/run/user/1000/dolphinVCPkXE.6.kioworker.socket OBSERVED RESULT crash SOFTWARE/OS VERSIONS Linux/KDE Plasma: Fedora 41 KDE Plasma Version: 6.3.5 KDE Frameworks Version: 6.14.0 Qt Version: 6.8.2 ADDITIONAL INFORMATION It seems to be a regression from https://invent.kde.org/network/kio-extras/-/commit/e11dfd86bd075afc7ff5c5eec70bc5d2377c4168. During the QGuiApplication constructor, KWindowSystem::platform()::s_platform is set to KWindowSystem::Platform::X11. Then during the QApplication constructor, Oxygen calls KWindowSystem::isPlatformX11() which returns true, so it uses QX11Info::connection() as xcb_intern_atom argument. But we are on the "offscreen" platform now, so there is no xcb connection. So KWindowSystem assumes the platform does not change, the kio-extra change breaks this assumption by changing QT_QPA_PLATFORM. #0 initPlatform () at /usr/src/debug/kf6-kwindowsystem-6.14.0-1.fc41.x86_64/src/kwindowsystem.cpp:131 #1 KWindowSystem::platform () at /usr/src/debug/kf6-kwindowsystem-6.14.0-1.fc41.x86_64/src/kwindowsystem.cpp:152 #2 0x00007ffff22ee87d in KWindowSystem::isPlatformX11 () at /usr/src/debug/kf6-kwindowsystem-6.14.0-1.fc41.x86_64/src/kwindowsystem.cpp:158 #3 0x00007ffff054884a in KdePlatformTheme::KdePlatformTheme (this=0x55555560b440, this=<optimized out>) at /usr/src/debug/plasma-integration-6.3.5-1.fc41.x86_64/qt6/src/platformtheme/kdeplatformtheme.cpp:78 #4 0x00007ffff05569b2 in KdePlatformThemePlugin::create (this=<optimized out>, key=<optimized out>, paramList=<optimized out>) at /usr/src/debug/plasma-integration-6.3.5-1.fc41.x86_64/qt6/src/platformtheme/main.cpp:25 #5 0x00007ffff532dacf in qLoadPlugin<QPlatformTheme, QPlatformThemePlugin, QList<QString>&> (loader=0x7ffff5bdf820 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_ptLoader> >::instance()::holder>, key=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/plugin/qfactoryloader_p.h:100 #6 QPlatformThemeFactory::create (key=..., platformPluginPath=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qplatformthemefactory.cpp:27 #7 0x00007ffff52dbc22 in init_platform (pluginNamesWithArguments=..., platformPluginPath=..., platformThemeName=..., argc=@0x7fffffffca9c: 4, argv=argv@entry=0x7fffffffd6c8) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1354 #8 0x00007ffff52df678 in QGuiApplicationPrivate::createPlatformIntegration (this=0x5555555966d0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1580 #9 0x00007ffff52e00f0 in QGuiApplicationPrivate::createEventDispatcher (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1599 #10 0x00007ffff76fa885 in QCoreApplicationPrivate::init (this=this@entry=0x5555555966d0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:931 #11 0x00007ffff52e3c5d in QGuiApplicationPrivate::init (this=0x5555555966d0) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1627 #12 0x00007ffff52e58e5 in QGuiApplication::QGuiApplication (this=this@entry=0x7fffffffcaf0, argc=@0x7fffffffca9c: 4, argv=argv@entry=0x7fffffffd6c8) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/gui/kernel/qguiapplication.h:172 #13 0x00007ffff7f9e6c1 in kdemain (argc=<optimized out>, argc@entry=4, argv=0x7fffffffd6c8) at /usr/src/debug/kio-extras-25.04.0-1.fc41.x86_64/thumbnail/thumbnail.cpp:116 #0 0x00007ffff2e55c88 in xcb_send_request_with_fds64 (c=0x0, flags=flags@entry=1, vector=vector@entry=0x7fffffffc5e0, req=req@entry=0x7ffff2e6d760 <xcb_req>, num_fds=num_fds@entry=0, fds=fds@entry=0x0) at /usr/src/debug/libxcb-1.17.0-3.fc41.x86_64/src/xcb_out.c:233 #1 0x00007ffff2e5631f in xcb_send_request64 (c=<optimized out>, flags=flags@entry=1, vector=vector@entry=0x7fffffffc5e0, req=req@entry=0x7ffff2e6d760 <xcb_req>) at /usr/src/debug/libxcb-1.17.0-3.fc41.x86_64/src/xcb_out.c:353 #2 0x00007ffff2e5632d in xcb_send_request (c=<optimized out>, flags=flags@entry=1, vector=vector@entry=0x7fffffffc5e0, req=req@entry=0x7ffff2e6d760 <xcb_req>) at /usr/src/debug/libxcb-1.17.0-3.fc41.x86_64/src/xcb_out.c:359 #3 0x00007ffff2e577bb in xcb_intern_atom (c=<optimized out>, only_if_exists=<optimized out>, name_len=<optimized out>, name=<optimized out>) at /usr/src/debug/libxcb-1.17.0-3.fc41.x86_64/src/xproto.c:3224 #4 0x00007fffe80f7d22 in Oxygen::Helper::createAtom (this=<optimized out>, name=...) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/liboxygen/oxygenhelper.cpp:749 #5 Oxygen::Helper::createAtom (this=this@entry=0x5555559ca800, name=...) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/liboxygen/oxygenhelper.cpp:745 #6 0x00007fffe818a653 in Oxygen::StyleHelper::init (this=0x5555559ca800) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/kstyle/oxygenstylehelper.cpp:1410 #7 Oxygen::StyleHelper::init (this=0x5555559ca800) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/kstyle/oxygenstylehelper.cpp:1402 #8 Oxygen::StyleHelper::StyleHelper (this=0x5555559ca800, config=...) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/kstyle/oxygenstylehelper.cpp:35 #9 Oxygen::Style::Style (this=0x5555559ca720, this=<optimized out>) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/kstyle/oxygenstyle.cpp:188 #10 0x00007fffe81c363a in Oxygen::StylePlugin::create (this=<optimized out>, key=<optimized out>) at /usr/src/debug/plasma-oxygen-6.3.5-1.fc41.x86_64/kstyle/oxygenstyleplugin.cpp:17 #11 0x00007ffff18ec69e in qLoadPlugin<QStyle, QStylePlugin> (loader=0x7ffff1fd29f0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS_loader> >::instance()::holder>, key=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/corelib/plugin/qfactoryloader_p.h:100 #12 QStyleFactory::create (key=...) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/styles/qstylefactory.cpp:77 #13 0x00007ffff18438d0 in QApplication::style () at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:915 #14 0x00007ffff1843f21 in QApplicationPrivate::initialize (this=this@entry=0x55555579a610) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:540 #15 0x00007ffff1844145 in QApplicationPrivate::init (this=0x55555579a610) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:487 #16 0x00007ffff18441cd in QApplication::QApplication (this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.2-3.fc41.x86_64/src/widgets/kernel/qapplication.cpp:462 #17 0x00007ffff7f9e7ac in kdemain (argc=<optimized out>, argc@entry=4, argv=0x7fffffffd6c8) at /usr/src/debug/kio-extras-25.04.0-1.fc41.x86_64/thumbnail/thumbnail.cpp:127 #18 0x00005555555554ed in main (argc=5, argv=0x7fffffffd858) at /usr/src/debug/kf6-kio-6.14.0-3.fc41.x86_64/src/kioworker/kioworker.cpp:144
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