Bug 419967 - Updating KIO libs requires executing kdeinit5 to pick up the new libs
Summary: Updating KIO libs requires executing kdeinit5 to pick up the new libs
Status: REPORTED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: git master
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-11 16:45 UTC by Bernie Innocenti
Modified: 2021-07-07 19:00 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
bernie: Usability+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernie Innocenti 2020-04-11 16:45:43 UTC
After updating to KDE Frameworks 5.69, several applications (including Dolphin, Gwenview, and the file selector in Chrome) show this error message:

Unable to create io-slave. klauncher said: Error loading '/usr/lib/qt/plugins/kf5/kio/file.so'.

I experienced this same bug on previous KDE Frameworks releases, so this can potentially be a recurring issue every month.

Is there something that could be done to either make this case Just Work, or at least provide a more helpful error message, suggesting them to logoff?

Ideally, we should warn users *before* breaking KIO, which might cause a data loss (inability to save files in KDE apps).
Comment 1 Ahmad Samir 2020-04-11 17:05:29 UTC
You can log out then log in or run 'kdeinit5' in terminal or krunner (Alt+F2).
Comment 2 Nate Graham 2020-04-12 15:20:28 UTC
This should be taken care of by the installer. Moving to Discover.
Comment 3 Bernie Innocenti 2020-05-06 09:52:23 UTC
Restarting kdeinit5 in Discover won't address distros using other update mechanisms.

At work I'm using a custom enterprise distro derived from Debian. Updates are managed via Puppet and cronjobs in the background.

My preference would be that whenever klauncher detects a KIO version mismatch, it will automatically restart kdeinit5.
Comment 4 Aleix Pol 2020-05-22 17:29:26 UTC
Discover will listen PackageKit for the needsReboot signal. ArchLinux could tell packagekit if the package needs rebooting somehow, I don't know if the option is available to PackageKit. There's not much we can do from Discover besides something really ad-hoc to kio.
Comment 5 Bernie Innocenti 2020-05-30 12:32:44 UTC
> There's not much we can do from Discover besides something really ad-hoc to kio.

Well, my proposal was to have klauncher restart kdeinit5 when it detects that kio libs can't be loaded (that is, when it would log the "Unable to create io-slave." error).

This wouldn't require any interaction with the package manager, and would also inconvenience users less.
Comment 6 Aleix Pol 2020-06-21 01:36:18 UTC
Moving back to KIO, it's not something I can address realistically from Discover.

It could make sense for KIO to realise it needs reloading.
Comment 7 RJVB 2021-07-07 19:00:07 UTC
Something already restarts kdeinit5 after a crash (or abort in a kioslave). Or is that just

This isn't just a KIO problem: it's bound to happen to any project that installs a kioslave.

The strange this is that I've just been tinkering with kio-gdrive, and I haven't had to kill any kdeinit5 instance myself in order for it to use the updated gdrive.so . I wrote that off to the fact that no `gdrive.so [kdeinit5]` process remained after quitting Dolphin, but that can't be it if the parent kdeinit5 process keeps the kioslave cached...

BTW, hadn't the idea been dropped to use a single, central "speed loader" that keeps all shared libraries it has even seen loaded to speed up subsequent launches? I seem to recall a discussion that this wasn't relevant anymore with the modern fast storage?