Bug 479707 - fish worker freezes
Summary: fish worker freezes
Status: RESOLVED FIXED
Alias: None
Product: kio-extras
Classification: Frameworks and Libraries
Component: FISH (show other bugs)
Version: 24.01.90
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-01-12 19:17 UTC by Antonio Rojas
Modified: 2024-01-29 20:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2024-01-12 19:17:12 UTC
When dolphin is open from the desktop (application menu or panel icon), connecting to a fish server gets stuck forever. If works fine if dolphin is opened from a terminal, though.

STEPS TO REPRODUCE
1. Open dolphin from the application menu
2. Try to connect to a remote fish server

OBSERVED RESULT
Never connects, stuck forever

EXPECTED RESULT
Connects

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux x86_64
KDE Plasma Version: 5.92.0
KDE Frameworks Version: 5.248.0
Qt Version: 6.7 beta 1
Comment 1 Antonio Rojas 2024-01-12 20:16:39 UTC
It works when launched from the terminal because I already have an SSH socket open there via keychain. So the actual issue is that the password dialog doesn't pop up when needed.
Comment 2 Nicolas Fella 2024-01-26 16:28:51 UTC
I get a password dialog, but past that it freezes. So I think something else is broken
Comment 3 Antonio Rojas 2024-01-26 16:34:04 UTC
(In reply to Nicolas Fella from comment #2)
> I get a password dialog, but past that it freezes. So I think something else
> is broken

It may depend on the connection method. In my case, it's via an SSH key pair. The missing password dialog is the sshaskpass dialog for the private key.
Comment 4 Nicolas Fella 2024-01-26 16:50:18 UTC
Okay, that makes some sense. I was referring to the KIO-provided password dialog.

I don't think KIO triggers the SSH key dialog directly, so presumably the worker blocks before reaching the point where the ksshaskpass triggers for you
Comment 5 Nicolas Fella 2024-01-26 16:55:39 UTC
fish works for me in 23.08 but not in master. The only significant change in between is https://invent.kde.org/network/kio-extras/-/merge_requests/261, which could very much have introduced the issue
Comment 6 Nicolas Fella 2024-01-26 21:33:39 UTC
(In reply to Nicolas Fella from comment #5)
> fish works for me in 23.08 but not in master. The only significant change in
> between is https://invent.kde.org/network/kio-extras/-/merge_requests/261,
> which could very much have introduced the issue

no, building that commit (with KF5) works fine
Comment 7 Bug Janitor Service 2024-01-27 01:18:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/kio-extras/-/merge_requests/325
Comment 8 Nicolas Fella 2024-01-29 20:09:40 UTC
Git commit 822bd586b84c92b8e2fba67420e06e98c276c4a2 by Nicolas Fella.
Committed on 29/01/2024 at 20:06.
Pushed by nicolasfella into branch 'master'.

[fish] Use QByteArray for outBuf everywhere

During authentication we fetch the password from the auth info
and pass it to writeChild(), which points outBuf to it.

However the authinfo password data disappears before we write.

To fix this make outBuf own its data.

M  +14   -23   fish/fish.cpp
M  +0    -6    fish/fish.h

https://invent.kde.org/network/kio-extras/-/commit/822bd586b84c92b8e2fba67420e06e98c276c4a2
Comment 9 Nicolas Fella 2024-01-29 20:10:18 UTC
Git commit feb54d0a9090d7450bafa4c0959d5ec60932d28e by Nicolas Fella.
Committed on 29/01/2024 at 20:10.
Pushed by nicolasfella into branch 'release/24.02'.

[fish] Use QByteArray for outBuf everywhere

During authentication we fetch the password from the auth info
and pass it to writeChild(), which points outBuf to it.

However the authinfo password data disappears before we write.

To fix this make outBuf own its data.
(cherry picked from commit 822bd586b84c92b8e2fba67420e06e98c276c4a2)

M  +14   -23   fish/fish.cpp
M  +0    -6    fish/fish.h

https://invent.kde.org/network/kio-extras/-/commit/feb54d0a9090d7450bafa4c0959d5ec60932d28e