Bug 214896

Summary: ftp, not connect, krusader, dolphin
Product: [Frameworks and Libraries] kio Reporter: Alex <chatovik>
Component: ftpAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: normal CC: bielen, bruno, nine, wstephenson
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: OpenSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alex 2009-11-16 23:37:00 UTC
Version:           Krusader - 2.0.0-6.8 , dolphin - 4.3.3-3.5 (using KDE 4.3.3)
Compiler:          zypper - 1.2.8-0.1.3 
OS:                Linux
Installed from:    openSUSE RPMs

When I connect to all ftp server with help krusader or dolphin. I get error:
"Could not start process Unable to create an auxiliary process input / output.
Message klauncher: Unknown protocol "" "
But if I connect to all ftp server with help mc , with ftp server connect
Comment 1 Torsten Bielen 2009-11-18 10:34:33 UTC
I have the same problem using opensuse 11.2 Kde 4.3.3-3.5.
Comment 2 Alex 2009-11-18 21:20:43 UTC
My 2 harddisk disappears because kio_file, once the folder is empty (ie hard disk as if every mount). Then in kosnoli I write ls and get an error
ls: reading directory.: Failed I / O
It happens when I watch video from the disc
Comment 3 Alex 2009-11-20 18:58:17 UTC
Update KDE to 4.3.3 release 182, but the problen remains. When will fix this problem?
Comment 4 David Faure 2009-11-27 23:11:27 UTC
Looks like a setup bug to me, a broken ftp.protocol file.

Very hard for me to investigate since it works here...
But just in case it's indeed the protocol file:
Type
   kde4-config --path services --locate ftp.protocol
and look at the file it outputs. Does it have protocol=ftp? (should be: yes)
Does it have helper=true? (should be: no)
Do you have any other file in the same directory that has protocol=ftp? (should be: no)
Comment 5 Alex 2009-11-28 06:12:48 UTC
I connect to the ftp server to which earlier was connected
Comment 6 nine 2009-11-30 13:32:38 UTC
I got the same problem here. Currently using kdelibs4-4.3.3-182.2.x86_64 on openSUSE 11.2. Have had this problem ever since I upgraded to openSUSE Factory in August and moving to KDE 4 in that step.

The error message in konqueror tells me this:
URL: ftp://localhost
Protocol: ftp
Date and Time: Monday 30 November 2009 13:22
Additional Information: Unable to create io-slave: klauncher said: Unknown protocol ''.

My protocol file looks like this:
nine@sunshine:/usr/share/kde4/services> cat ftp.protocol
[Protocol]
exec=kio_ftp
protocol=ftp
input=none
output=filesystem
copyToFile=true
copyFromFile=true
listing=Name,Type,Size,Date,Access,Owner,Group,Link,
reading=true
writing=true
makedir=true
deleting=true
moving=true
Icon=folder-remote
maxInstances=2
X-DocPath=kioslave/ftp/index.html
Class=:internet

No other files contain protocol=ftp here.

kio_ftp.so seems to be installed just fine:
-rwxr-xr-x 1 root root 89720 2009-11-18 22:24 /usr/lib64/kde4/kio_ftp.so
Comment 7 Alex 2009-12-01 22:40:51 UTC
I am update on KDE 4.3.4 , but don't fixed this bug
Comment 8 Torsten Bielen 2009-12-02 10:01:44 UTC
Same for me. Update to 4.3.4 doesn't fix the bug. Is there anything to do to supply additional info which helps to find the bug? I haven't any idea what I can do.
For me this is an ugly bug because I work often with ftp directories.
Comment 9 Torsten Bielen 2009-12-02 10:04:10 UTC
Same for me. Update to 4.3.4 doesn't fix the bug. Is there anything to do to supply additional info which helps to find the bug? I haven't any idea what I can do.
For me this is an ugly bug because I work often with ftp directories.
Comment 10 Bruno Friedmann 2009-12-09 06:39:41 UTC
The strange things here, is if I use a second user ( new created user ) 
it simply work.

under this user 
kioclient exec ftp://ftp.kde.org
<unknown program name>(29100)/ ClientApp::doIt: Creating ClientApp
kdeinit4: preparing to launch /usr/lib/libkdeinit4_klauncher.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kded4.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kbuildsycoca4.so
kbuildsycoca4 running...
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kconf_update.so
kdeinit4: preparing to launch /usr/lib/kde4/kio_ftp.so
kdeinit4: preparing to launch /usr/lib/libkdeinit4_kconf_update.so

under my profile 
kioclient exec ftp://ftp.kde.org
<unknown program name>(30919)/ ClientApp::doIt: Creating ClientApp
-> message box unknown protocol.

This is due to something bad under the .kde .local .config files somewhere.
But which one, as it's not possible to recreate a new complete .kde profile
Can you tell us, where normally such bad params are located.
Comment 11 Will Stephenson 2009-12-10 10:42:33 UTC
David: Bruno is a capable troubleshooter, can you suggest any further ways for him to debug this, assuming that ftp.protocol is not broken as comment #6 suggests?
Comment 12 Bruno Friedmann 2009-12-10 11:20:56 UTC
Thanks Will :-)

In fact there's a lot's of kio inside /usr/lib(64)/kde4 
Most of them works (I've learn a lots imap,ldap,iso,http,https,sftp,audiocd,etc)
all of them works with my profile. but not ftp snif ...

As I previously said, if I use the "test" user which have a fresh .kde profile it works. 
But I've too much configuration inside mine I can't just delete the folder and start a new one ( It would take me 3 or 4 days to rebuild it ... )
Comment 13 nine 2009-12-10 11:27:01 UTC
I can now confirm, that it is something in the .kde4/share/config/* files that is causing the problem. I moved them aside and ftp is working. I will now selectively copy files back to find out which one it is exactly.
Comment 14 nine 2009-12-10 13:11:40 UTC
I found the culprit: it's ~/.kde4/share/config/kioslaverc
Deleting that file fixed the problem for me. It's contents was:
AutoResume=true

[$Version]
update_info=kioslave.upd:kde2.2/r3,kioslave.upd:kde2.2/r1

[Proxy Settings]
ProxyType=1


During testing with deleted config dir, it got recreated as:
[$Version]
update_info=kioslave.upd:kde2.2/r1,kioslave.upd:kde2.2/r2,kioslave.upd:kde2.2/r3

Reciting from memory, so the order may have been different. The file did not get recreated if it was the only one deleted.
Comment 15 Bruno Friedmann 2009-12-10 13:49:13 UTC
Fantastic ... Good catch. 
I've deleted it and now it was working like a charm.

the file is not yet recreated (I've not close my kde session) 

Has you can seen I've set a default user for browsing windows domain on customer site. and also have the ProxyType ..


[$Version]
update_info=kioslave.upd:kde2.2/r1,kioslave.upd:kde2.2/r2,kioslave.upd:kde2.2/r3

[Browser Settings/SMBro]
Password=BLABLALLBALBLAL;
User=administrateur

[Proxy Settings]
ProxyType=1

A very big thank you.
Comment 16 Bruno Friedmann 2009-12-10 13:54:07 UTC
For the fun I've put just inside a working profile.

[Proxy Settings]
ProxyType=1

and tada protocol unknown ... 
Seems that if this is set inside profile kde >= 4.3 should delete it
Comment 17 Alex 2009-12-10 14:12:17 UTC
ooo it's work :) When I delete config file , ftp is work :)
Thanks
Comment 18 Torsten Bielen 2009-12-10 14:14:41 UTC
Super. Thank you for the hints.

I opened the control center and activated proxy settings (Network & Connections). I found the option "set proxy settings manual" which I never set (!). I set it to "direct connection to the internet" and IT WORKS.

Thanks to all.

PS: I hope my english translations of the names are correct because I use german system language.
Comment 19 David Faure 2009-12-11 00:07:11 UTC
Good find.
No we shouldn't just delete it, some people do use a manual proxy.

Also, I can't reproduce the problem here. The code says ProxyType=1 doesn't do anything unless there's a "FtpProxy=..." key somewhere (in kioslaverc, kio_ftprc, or kdeglobals). Can you grep around for FtpProxy?

The question is, how did this key end up there for people who didn't want a manual proxy.
I checked the .upd migration scripts, but they date from 2002, so I guess that's not it. The any other idea would be the configuration module writing out the wrong stuff?
Comment 20 David Faure 2009-12-11 00:08:12 UTC
and since everyone is on opensuse, I also suspect a suse patch, or a global config file....
Comment 21 Bruno Friedmann 2009-12-13 13:32:01 UTC
Hi David, after working during 2 days, I've refound the 
[Proxy Settings]
ProxyType=1
lines in config file.

so it seems to be definitively a openSUSE problem, which has something to do with the proxy settings or whatever ...
I've check inside my system-settings, and I've in network settings, proxy settings the "use preset proxy environement variables" checked but none of them are setted. (but it's also the case in user profile which are working)


Will an idea where to look ?
Comment 22 Will Stephenson 2009-12-16 13:42:43 UTC
kdebase4-workspace-branding-openSUSE ships this
/etc/kde4/share/config/kioslaverc :

[Proxy Settings]
NoProxyFor=NO_PROXY
ProxyType=4
ftpProxy=FTP_PROXY
httpProxy=HTTP_PROXY
httpsProxy=HTTPS_PROXY

which I guess is to set sensible defaults; is this now out of date?
Comment 23 David Faure 2009-12-17 20:10:46 UTC
Will: these settings make no sense at all. KIO is looking for a URL, as the value for the fields "ftpProxy", "httpProxy", etc.  Values like FTP_PROXY make a very strange URL, which explains the "empty protocol" error message that users are seeing.
I'll commit a fix/workaround which makes kio ignore proxies with no valid protocol, but really, I suggest that you get rid of this meaningless kioslaverc. There never was code in KIO to handle FTP_PROXY, so I suppose this went together with a patch for kio which gave special meaning to such values.
Comment 24 David Faure 2009-12-17 20:15:15 UTC
SVN commit 1063293 by dfaure:

Ignore proxy urls that don't have a protocol, like the very weird "FTP_PROXY" value from opensuse
Fixed for: 4.4
BUG: 214896


 M  +1 -1      kprotocolmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1063293
Comment 25 Bruno Friedmann 2009-12-17 21:46:45 UTC
thanks David & Will.
Comment 26 David Faure 2010-01-21 17:18:12 UTC
SVN commit 1078134 by dfaure:

Backport 1063293: Ignore proxy urls that don't have a protocol, fixes FTP not working on OpenSuse due to an old kioslaverc file.
Fixed for: 4.3.5
CCBUG: 214896


 M  +1 -1      kprotocolmanager.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1078134