My journal is spammed with a very large number of lines such as kdeinit5[28739]: kf5.kio.core: error() called twice! Please fix the KIO slave. I'm not aware whether there is any corresponding problem, but it would be nice to get this out of my journal.
That's just a warning from one of the ioslaves you are using. We need to know which one (sftp? smb? or something else?)
(In reply to Elvis Angelaccio from comment #1) > That's just a warning from one of the ioslaves you are using. We need to > know which one (sftp? smb? or something else?) How can I find out? What I see in the journal preceding (same time up to the second) many, but not all runs of these messages is plasmashell[1460]: QFileInfo::absolutePath: Constructed with empty filename Also sometimes (same time up to the second): kernel: EXT4-fs (sda4): warning: maximal mount count reached, running e2fsck is recommended (I'll do an fsck, but it seems strange that this would really be related) I'll attach a more extensive journal excerpt.
Created attachment 107868 [details] Excerpt from my system's journal showing the issue in context After this run of messages, it starts again 13 seconds later.
Fair enough, I've made kio more verbose in the debug output: https://phabricator.kde.org/D7837
Next version of KIO will be more verbose. In the meantime, you could run QT_MESSAGE_PATTERN="%{appname} - %{message}" kdeinit5 from a terminal. That should show you the name of the kioslaves before the "fix the KIO slave" message.
(In reply to Elvis Angelaccio from comment #5) > In the meantime, you could run > > QT_MESSAGE_PATTERN="%{appname} - %{message}" kdeinit5 > > from a terminal. That should show you the name of the kioslaves before the > "fix the KIO slave" message. Ok, I tried that, but it didn't seem to work; I got - error() called twice! Please fix the KIO slave. So even less info than before. However, by trial and error, I found out that the messages come whenever I go into a zip file as a directory (in Krusader, but also in Dolphin). So I guess it's the zip kioslave.
Thanks for the update.
It could be caused by Krusader's krarc: slave. Can you check the URL bar of Dolphin if this is the case?
(In reply to Christoph Feck from comment #8) > It could be caused by Krusader's krarc: slave. Can you check the URL bar of > Dolphin if this is the case? Indeed. Both in Krusader and in Dolphin, the krarc kioslave is used. Krusader causes multiple "kf5.kio.core: error() called twice! Please fix the KIO slave"-messages, Dolphin just one or (perhaps) two.
Reassigning to krarc developers.
I can see these errors in my past journal (june 2017). But I cannot replicate them anymore. I have Qt 5.9.1, KF 5.38, latest Krusader git. @Erik, which steps exactly are required to trigger them? Or did you only browse a zip archive and read some files? Ideally, could you also provide the archive that triggers the errors for you? And please provide your KF and Krusader version. Thanks!
(In reply to Martin Kostolný from comment #11) > @Erik, which steps exactly are required to trigger them? Or did you only > browse a zip archive and read some files? Yes, I only need to browse a zip file. Entering a directory was enough, no need to read a file. > Ideally, could you also provide the archive > that triggers the errors for you? I can't share the ones that I've used. I'll have to see whether I can create a dummy. > And please provide your KF and Krusader version. KF5.37.0, Krusader 2.6.0. I'll see if I can test the latest Krusader git.
Created attachment 108237 [details] dummy zip archive that can trigger the issue by browsing it
(In reply to Erik Quaeghebeur from comment #12) > I'll see if I can test the latest Krusader git. Using latest Krusader git does not fix the issue.
Thanks for test archive and info! Unfortunately I still cannot replicate the issue. I even downgraded KIO to version 5.37 but no KIO error showed up in journal. What distribution are you testing on?
(In reply to Martin Kostolný from comment #15) > What distribution are you testing on? Gentoo, stable.
Thanks. That is unfortunately a distribution I currently don't have in my virtualbox. I have several though and tried with Kubuntu 16.10 which has older packages and didn't encounter the issue either. On my native system is Arch btw. Just a really stupid thought :) - is it possible that you have krarc binaries installed twice in different locations in your system? Can you check in running processes that while browsing archive with krarc protocol, only one kio_krarc.so process is running? Is there anybody else having these problems?
(In reply to Martin Kostolný from comment #17) > […] is it possible that you have krarc > binaries installed twice in different locations in your system? Can you > check in running processes that while browsing archive with krarc protocol, > only one kio_krarc.so process is running? Only one instance of krarc on-disk and only one krarc process running.
I'm using Gentoo and can't confirm the problem on v2.6.0. I tried my own zip files and well as provided by Erik. I'm on =kde-frameworks/kio-5.40.0-r3 now. @Erik, could you provide exact step-by-step guide how to repro with details: what exactly you enter in which app and what log files you're looking at? Could your logging be set to use debug or near-debug level?
(In reply to Nikita Melnichenko from comment #19) > I'm using Gentoo and can't confirm the problem on v2.6.0. I tried my own zip > files and well as provided by Erik. I'm on =kde-frameworks/kio-5.40.0-r3 now. Thanks for chipping in. I'm also on 2.6.0/5.40 now. Things have not changed for me. > @Erik, could you provide exact step-by-step guide how to repro with details: > what exactly you enter in which app and what log files you're looking at? Entering the zip file ‘as a directory’ in Krusader triggers it. So in the address bar I there have krarc:/home/path/to/file.zip/. There is nothing more to it, sorry. I'm looking at the systemd journal. > Could your logging be set to use debug or near-debug level? The log I provided is at debug level. There is nothing different now from then. I understand that you can't do much if you cannot reproduce, but I don't know what further information to provide; w.r.t. krusader, my system is boringly stable and standard. Could it be a config issue? (Unlikely because it happens in both Krusader and Dolphin?) I tried it also with write support disabled, but the issue stays.
> I'm looking at the systemd journal Well, I have OpenRC and I'm looking at /var/log/messages, however it should not make a difference. The syslog config does though. Could you share the settings? > The log I provided is at debug level Where did you specify that debug level should go to the journal? > I tried it also with write support disabled, but the issue stays. Didn't get this. > I understand that you can't do much if you cannot reproduce I'm not giving up yet. In contrast, I'm puzzled. :) Can you try one more thing: run krusader from console and see if those messages output to console or not?
(In reply to Nikita Melnichenko from comment #21) > > I'm looking at the systemd journal > Well, I have OpenRC and I'm looking at /var/log/messages, however it should > not make a difference. The syslog config does though. Could you share the > settings? I do not know where to look. `locate syslog` does not return any file that seems to be configuration. I assume this is in some file not containing the word syslog. Which? > > The log I provided is at debug level > Where did you specify that debug level should go to the journal? Well, I can specify the level using the ‘-p’ switch to journalctl. I have checked and the lines kf5.kio.core: error() called twice! Please fix the KIO slave. are at the ‘warning/4’ level and the lines such as sep 15 10:09:31 hostname kdeinit5[3515]: "/home/equaeghe/patha/pathb/pathc/pathd/file.zip" sep 15 10:09:31 hostname kdeinit5[3515]: "file.zip" sep 15 10:09:31 hostname kdeinit5[3515]: arcType: "zip" sep 15 10:09:31 hostname kdeinit5[3515]: "unzip" sep 15 10:09:31 hostname kdeinit5[3515]: "unzip" sep 15 10:09:31 hostname kdeinit5[3515]: "unzip" sep 15 10:09:31 hostname kdeinit5[3515]: "unzip" sep 15 10:09:31 hostname kdeinit5[3515]: "zip" sep 15 10:09:31 hostname kdeinit5[3515]: "zip" sep 15 10:09:31 hostname kdeinit5[3515]: "7za" sep 15 10:09:31 hostname kdeinit5[3515]: "7za" sep 15 10:09:31 hostname kdeinit5[3515]: Encrypted: false are at the ‘debug/7’ level. > > I tried it also with write support disabled, but the issue stays. > Didn't get this. I meant that when I disable write support in the Krusader configuration of karc, nothing changed to the behavior. > Can you try one more thing: run krusader from console and see if those > messages output to console or not? They do not appear. I only see “Trying to convert empty KLocalizedString to QString.” in the console, which is probably completely unrelated.
@Erik, are you willing to compile git version, apply patches and test? There are 53 direct error() calls in krarc and who knows how many are hidden. It's hard to say if this function is really called twice or not. I can try to prepare some patches which will activate extensive debug output. @Elvis, is there a way to redirect these type of messages from KIO to console? I need to sync my debug output with these messages somehow.
(In reply to Nikita Melnichenko from comment #23) > @Erik, are you willing to compile git version, apply patches and test? That should be possible. I should be able to create a live ebuild from the kde-overlay one and specify the branch with the patches (using EGIT_BRANCH). That should be more convenient than separately applying the patches to the live ebuild (but that is also fine).
(In reply to Nikita Melnichenko from comment #23) > @Elvis, is there a way to redirect these type of messages from KIO to > console? I need to sync my debug output with these messages somehow. Yes, run kdeinit5 from Konsole and you should see the debug output there.
Elvis, thanks a lot for the info! Now I'm able to repro the bug. Steps: 1. Run `kdeinit5` - it will launch in a background. 2. Run `krusader` in the same console and go visit a zip file. The output: kf5.kio.core: Refilling KProtocolInfoFactory cache in the hope to find "mtp" "/" "" kf5.kio.core: error() called twice! Please fix the "" KIO slave "/mnt" "mnt" kf5.kio.core: error() called twice! Please fix the "" KIO slave "/mnt/data" "data" kf5.kio.core: error() called twice! Please fix the "" KIO slave "/mnt/data/temp" "temp" kf5.kio.core: error() called twice! Please fix the "" KIO slave "/mnt/data/temp/downloads" "downloads" kf5.kio.core: error() called twice! Please fix the "" KIO slave "/mnt/data/temp/downloads/test.zip" "test.zip" arcType: "zip" "unzip" "unzip" "unzip" "unzip" "zip" "zip" "7za" "7za" Encrypted: false "/mnt/data/temp/downloads/test.zip" "test.zip" arcType: "zip" "unzip" "unzip" "unzip" "unzip" "zip" "zip" "7za" "7za" Encrypted: false 0 "" "/mnt/data/temp/downloads/test.zip/" "/mnt/data/temp/downloads/test.zip" "test.zip" arcType: "zip" "unzip" "unzip" "unzip" "unzip" "zip" "zip" "7za" "7za" Encrypted: false "/mnt/data/temp/downloads/test.zip"
Git commit 5e42e49d06e873157ec27657a1eed9067947935f by David Faure. Committed on 23/06/2019 at 08:15. Pushed by dfaure into branch 'master'. Create a QCoreApplication in the kioslave. This will at least fix the empty name in the warning that says Please fix the "" KIO slave M +3 -0 krArc/krarc.cpp https://commits.kde.org/krusader/5e42e49d06e873157ec27657a1eed9067947935f
I do not have these messages with the current master version.