Version: (using KDE Devel) Installed from: Compiled sources OS: Linux I would like to report the following bug: fish kioslave does not work properly on kde4 (svn revision 759969) I have prepeared the folowwing setting on my local network to reproduce the bug. I a host with static IP address 192.168.0.2 that runs an openssh-server, and has a user "euler" Now, in host 192.168.0.1 I have a user "kde-devel" runing KDE 4 and as that user, I want to connect to 192.168.0.2 using fish kioslave. So I follow the following steps 1) I open Konqueror and type "sftp://192.168.0.1" in the URL bar 2) a dialog apppears showing the message "kde-devel@192.168.0.1 password:" and letting me enter a username ("kde-devel" apperas as a default choise, but I may edit it) 3) I enter "euler" as user name, and its password then the conection fails, with the message An error occurred while loading fish://192.168.0.2: The process for the fish://192.168.0.2 protocol died unexpectedly. and following debug messages: konqueror(25918) LocalDomainUriFilter::filterUri: KUrl("fish://192.168.0.2") konqueror(25918) FixHostUriFilter::filterUri: FixHostUriFilter::filterUri: KUrl("fish://192.168.0.2") konqueror(25918) KonqMainWindow::openFilteredUrl: url "fish://192.168.0.2" filtered into KUrl("fish://192.168.0.2") konqueror(25918) KonqMainWindow::openUrl: KonqMainWindow::openUrl : url = ' KUrl("fish://192.168.0.2") ' mimeType=' "" req= "[typedUrl=fish://192.168.0.2 newTabInFront]" ' view= QObject(0x0) konqueror(25918) KonqMainWindow::openUrl: trying openView for KUrl("fish://192.168.0.2") (mimeType "" ) konqueror(25918) KonqMainWindow::openUrl: Creating new konqrun for KUrl("fish://192.168.0.2") req.typedUrl= "fish://192.168.0.2" konqueror(25918)/kio (KIOJob) KIO::stat: stat KUrl("fish://192.168.0.2") konqueror(25918)/kio (Slave) KIO::Slave::createSlave: createSlave ' "fish" ' for "fish://192.168.0.2" konqueror(25918)/kio (KIOConnection) KIO::ConnectionServer::listenForRemote: Listening on "local:/tmp/kde-devel-kde4/ksocket-kde-devel/konquerory25918.slave-socket" klauncher(25863)/kio (KLauncher) KLauncher::requestSlave: KLauncher: launching new slave "kio_fish" with protocol= "fish" args= ("fish", "local:/tmp/kde-devel-kde4/ksocket-kde-devel/klauncherT25863.slave-socket", "local:/tmp/kde-devel-kde4/ksocket-kde-devel/konquerory25918.slave-socket") kdeinit4: Got EXEC_NEW 'kio_fish' from launcher. kdeinit4: preparing to launch fish(25929)/kio_fish kdemain: 131 : *** Starting fish fish(25929)/kio_fish fishProtocol::fishProtocol: 246 : fishProtocol::fishProtocol() klauncher(25863)/kio (KLauncher) KLauncher::processRequestReturn: "kio_fish" (pid 25929) up and running. fish(25929)/kio_fish fishProtocol::setHost: 659 : setHost "" @ "192.168.0.2" fish(25929)/kio_fish fishProtocol::stat: 1415 : @@@@@@@@@ stat KUrl("fish://192.168.0.2") fish(25929)/kio_fish fishProtocol::openConnection: 304 : _______ emitting infoMessage( "Connecting..." ) fish(25929)/kio_fish fishProtocol::openConnection: 306 : connecting to: "kde-devel" @ "192.168.0.2" : 0 fish(25929)/kio_fish fishProtocol::sendCommand: 720 : queuing: cmd= 0 [' FISH ']( 0 ), alt=[' echo; /bin/sh -c start_fish_server > /dev/null 2>/dev/null; perl .fishsrv.pl abcc4c517321c96aa2184bf291d3dcb7 2>/dev/null; perl -e '$|=1; print "### 100 transfer fish server\n"; while(<STDIN>) { last if /^__END__/; $code.=$_; } exit(eval($code));' 2>/dev/null; '], lines= 1 fish(25929)/kio_fish fishProtocol::sendCommand: 720 : queuing: cmd= 1 [' VER 0.0.3 copy append lscount lslinks lsmime exec stat ']( 0 ), alt=[' echo 'VER 0.0.3 copy append lscount lslinks lsmime exec stat' '], lines= 1 konqueror(25918)/kio (KIOJob) KIO::SlaveInterface::requestNetwork: requestNetwork "" "fish25929" fish(25929)/kio_fish fishProtocol::connectionStart: 398 : Exec: /usr/bin/ssh Port: 0 User: "kde-devel" fish(25929)/kio_fish fishProtocol::establishConnection: 547 : establishing: got "kde-devel@192.168.0.2's password:" fish(25929)/kio_fish fishProtocol::establishConnection: 588 : sending mpass fish(25929)/kio (kioslave) KIO::SlaveBase::checkCachedAuthentication: SlaveBase::checkCachedAuthInfo window = 4194305 url = "fish://kde-devel@192.168.0.2" kded(25865)/kded4 Kded::loadModule: Successfully loaded module "kpasswdserver" kded(25865)/kio (KPasswdServer) KPasswdServer::checkAuthInfo: KPasswdServer::checkAuthInfo: User= "kde-devel" , WindowId = 4194305 kded(25865)/kio (KDirWatch) KDirWatchPrivate::addEntry: Added Dir "/home/kde-devel/.kde4/share/apps/kwallet" for "" ["KWallet Directory Watcher"] kded(25865)/kio (KDirWatch) KDirWatchPrivate::useINotify: trying to use inotify for monitoring kded(25865)/kio (KDirWatch) KDirWatchPrivate::useINotify: inotify successfully used for monitoring kded(25865)/kded4 Kded::loadModule: Successfully loaded module "kwalletd" fish(25929)/kio (kioslave) KIO::SlaveBase::openPasswordDialog: SlaveBase::openPasswordDialog window-id= 4194305 kded(25865)/kio (KPasswdServer) KPasswdServer::queryAuthInfo: KPasswdServer::queryAuthInfo: User= "kde-devel" , Message= "kde-devel@192.168.0.2's password:" , WindowId = 4194305 kded(25865)/kio (KPasswdServer) KPasswdServer::processRequest: KPasswdServer::processRequest: User= "kde-devel" , Message= "kde-devel@192.168.0.2's password:" kwin(25875) KWin::Client::readUserTimeMapTimestamp: User timestamp, initial: 1775915034 kwin(25875) KWin::Client::readUserTimeMapTimestamp: User timestamp, ASN: 1775915034 kwin(25875) KWin::Client::readUserTimeMapTimestamp: User timestamp, final: 'ID: 10485786 ;WMCLASS: "kded4" : "kded4" ;Caption: "SSH Authorization" ' : 1775915034 kwin(25875) KWin::Workspace::allowClientActivation: Activation, compared: 'ID: 10485786 ;WMCLASS: "kded4" : "kded4" ;Caption: "SSH Authorization" ' : 1775915034 : 1775913455 : true knotify(25877) KNotify::slotPluginFinished: 10 ref= 2 knotify(25877) KNotify::event: 10 ref= 0 kwin(25875)/kdeui (KNotification) KNotification::slotReceivedId: 0 kwin(25875)/kdeui (KNotification) KNotification::~KNotification: 0 Task added, isActive = false knotify(25877) KNotify::event: 11 ref= 0 kwin(25875)/kdeui (KNotification) KNotification::slotReceivedId: 0 kwin(25875)/kdeui (KNotification) KNotification::~KNotification: 0 kded(25865)/kio (KPasswdServer) KPasswdServer::addAuthInfoItem: Creating AuthInfo fish(25929)/kio (kioslave) KIO::SlaveBase::openPasswordDialog: SlaveBase::openPasswordDialog: username= "euler" fish(25929)/kio (kioslave) KIO::SlaveBase::openPasswordDialog: SlaveBase::openPasswordDialog: password=[hidden] fish(25929)/kio_fish fishProtocol::establishConnection: 608 : _______ emitting redirection( KUrl("fish://euler@192.168.0.2") ) fish(25929)/kio_fish fishProtocol::finished: 1329 : _______ emitting finished() fish(25929)/kio_fish fishProtocol::openConnection: 314 : subprocess is running konqueror(25918)/kio (KIOJob) KIO::StatJobPrivate::slotRedirection: StatJob::slotRedirection( KUrl("fish://euler@192.168.0.2") ) fish(25929)/kio_fish fishProtocol::setHost: 659 : setHost "euler" @ "192.168.0.2" fish(25929)/kio_fish fishProtocol::shutdownConnection: 698 : _______ emitting infoMessage( "Disconnected." ) fish(25929)/kio_fish fishProtocol::stat: 1415 : @@@@@@@@@ stat KUrl("fish://euler@192.168.0.2") fish(25929)/kio_fish fishProtocol::openConnection: 304 : _______ emitting infoMessage( "Connecting..." ) fish(25929)/kio_fish fishProtocol::openConnection: 306 : connecting to: "euler" @ "192.168.0.2" : 0 fish(25929)/kio_fish fishProtocol::sendCommand: 720 : queuing: cmd= 0 [' FISH ']( 0 ), alt=[' echo; /bin/sh -c start_fish_server > /dev/null 2>/dev/null; perl .fishsrv.pl abcc4c517321c96aa2184bf291d3dcb7 2>/dev/null; perl -e '$|=1; print "### 100 transfer fish server\n"; while(<STDIN>) { last if /^__END__/; $code.=$_; } exit(eval($code));' 2>/dev/null; '], lines= 1 fish(25929)/kio_fish fishProtocol::sendCommand: 720 : queuing: cmd= 1 [' VER 0.0.3 copy append lscount lslinks lsmime exec stat ']( 0 ), alt=[' echo 'VER 0.0.3 copy append lscount lslinks lsmime exec stat' '], lines= 1 fish(25929)/kio (kioslave) KIO::SlaveBase::waitForAnswer: SlaveBase::waitForAnswer has read error. fish(25929)/kio_fish fishProtocol::error: 1338 : ERROR: 123 - "192.168.0.2" ASSERT: "d->appConnection.inited()" in file /home/kde-devel/kde/src/kdelibs/kio/kio/slavebase.cpp, line 231 kioslave: ####### CRASH ###### protocol = fish pid = 25929 signal = 6 /home/kde-devel/kde/lib/libkio.so.5[0xb7aa3198] [0xffffe420] /lib/tls/i686/cmov/libc.so.6(abort+0x101)[0xb6862201] /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0xcf)[0xb7df201d] /usr/lib/libQtCore.so.4(_Z6qFatalPKcz+0x7f)[0xb7df20a1] /usr/lib/libQtCore.so.4(_Z9qt_assertPKcS0_i+0x35)[0xb7df220d] /home/kde-devel/kde/lib/libkio.so.5(_ZN3KIO9SlaveBase12dispatchLoopEv+0xff)[0xb7aa215d] /home/kde-devel/kde/lib/kde4/kio_fish.so(kdemain+0x239)[0xb6354c39] kdeinit4: kio_fish [kd[0x804e10c] kdeinit4: kio_fish [kd[0x804eb4b] kdeinit4: kio_fish [kd[0x804f330] kdeinit4: kio_fish [kd[0x804fcaa] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb684c050] kdeinit4: kio_fish [kd[0x804b301] konqueror(25918)/kio (KIOJob) KIO::SlaveInterface::dropNetwork: dropNetwork "" "fish25929" konqueror(25918)/kio (Slave) KIO::Slave::gotInput: slave died pid = 25929 konqueror(25918)/kparts KParts::BrowserRun::slotStatResult: BrowserRun::slotStatResult: "The process for the fish://192.168.0.2 protocol died unexpectedly." konqueror(25918) KonqRun::handleError: KonqRun::handleError error: "The process for the fish://192.168.0.2 protocol died unexpectedly." konqueror(25918)/kdecore (trader) KMimeTypeTrader::weightedOffers: KMimeTypeTrader::weightedOffers( "text/html" , "Application" ) konqueror(25918) KonqMainWindow::openView: KonqMainWindow::openView "text/html" KUrl("error:/?error=143&errText=fish%3A%2F%2F192.168.0.2#fish://192.168.0.2") KonqView(0x8431b60) req: "[typedUrl=fish://192.168.0.2 newTabInFront forceAutoEmbed]" As you can see, something strange is happening: the line fish(25929)/kio_fish fishProtocol::setHost: 659 : setHost "euler" @ "192.168.0.2" shows that the user that I've entered is set, but the line fish(25929)/kio_fish fishProtocol::connectionStart: 398 : Exec: /usr/bin/ssh Port: 0 User: "kde-devel" says that the user "kde-devel" and the port "0" was actually used! (shouldn't port be 22 ?) Two final remarks: 1) If I enter, "fish://euler@192.168.0.2" this works as expected. 2) In KDE 3.5.8 things work OK (this is a regression in KDE 4)
Although I had similar problems with fish in KDE4, I just tried it now (=from trunk) and ... it works. Both sftp, fish, in Dolphin, in Konqueror, with or without user name in the url.
I made a change that should fix fish problems, if you are running from svn please update to after than r806784 and try again, else please try again once new KDE 4.0.x or 4.1 is released
I can reproduce this bug for the fish protocol in Opensuse 11.0 Konqueror 4.1.1. I can login without expressing the username with sftp but not in fish. fish://ip doesn't work like the first comment indicates, asks for username and password but gives unexpected error anyway. fish://user@ip works as expected. Also, in Dolphin, if I try fish://ip , then username and password filled out, I press ok and Dolphin crashes. All I'm saying is maybe this bug isn't really fixed. I can reproduce it at will, any help you need, just ask.
Are you sure you are running KDE 4.1.1? Can you please paste the output of running zypper info kdelibs4 in a shell?
I didn't really say I was running Kde 4.1.1 , but it was misleading yes. Kdelibs is still 4.1.0 , here is the relevant part of the output: Repository: openSUSE BuildService - KDE4:Factory:Desktop Name: kdelibs4 Version: 4.1.0-40.4 Arch: i586 Vendor: openSUSE Build Service Installed: Yes Status: up-to-date So Kde is 4.1.0 but Konqueror reports 4.1.1 : konqueror --version Qt: 4.4.0 KDE: 4.1.1 (KDE 4.1.0 (4.1 >= 20080722)) "release 40.4" Konqueror: 4.1.1 (KDE 4.1.0 (4.1 >= 20080722)) "release 40.4" So I should just test again when kdelibs reaches 4.1.1 .
I can reproduce this behavior (fish://username@url.net failing with "protocol has unexpectedly terminated") with: konqueror --version Qt: 4.4.1 KDE: 4.1.1 (KDE 4.1.1) Konqueror: 4.1.1 (KDE 4.1.1)
OpenSuse 4.1.1 works for me when logging to tsdgeos@shell.berlios.de with konqueror. Any chace I can have an account at the machine you are having problems to see if it crashes? If you want you can send the date in private mail.
I get signal 6 fatal error when trying to use fish protocol - under konqueror it still works. When using Dolphin, and I edit the address line with the following: fish://192.168.10.100 and hit enter, I get a login diaog from the other machine - I put the correct name and password, then it crashes with a SIGABRT signal 6 crash. Same as comment #3 here. I can repeat this everytime. using kdelibs4-core-4.1.1-6mdv2009.0 from Mandriva Cooker
The fish ioslave is not in the kdelibs package, but on the kdebase-runtime package, make sure you have it uptodate too All i can keep saying is "works for me"
*** This bug has been confirmed by popular vote. ***
Created attachment 27938 [details] Backtrace of dolphin crash with fish:// Using KDE 4.1.2 fish works, when going to fish://[USERNAME]@[ADRESS]. But when going to fish://[ADRESS] and give [USERNAME] and [PASSWORD] in the login dialog dolphin crashes. Konqueror says only: "Prozess wurde unerwartet beendet." but does not crash.
SVN commit 875283 by aacid: sigaction somehow was playing tricks with other Qt/KDE code, so let's remove it and use waitpid directly after kill This fixes protocol died errors when logging in to fish urls when no user is specified, that is, part of bug 155591 and only works when using konqueror When using dolphin it still triggers an assert on KDirLister::Private::redirect so i'm not sure it's a problem of the slave, of dolphins code or what David can you have a look? CCBUG: 155591 CCMAIL: faure@kde.org M +2 -21 fish.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=875283
SVN commit 875554 by ppenz: Assure that no reloading is done if KDirLister emits a redirection, only change the the URL. Thanks to David Faure and Albert Alstals Cid for the detailed analysis! BUG: 155591 M +1 -8 dolphinview.cpp M +8 -7 dolphinview.h M +11 -0 dolphinviewcontainer.cpp M +7 -0 dolphinviewcontainer.h WebSVN link: http://websvn.kde.org/?view=rev&revision=875554
SVN commit 875564 by ppenz: Backport of SVN commit 875554: Assure that no reloading is done if KDirLister emits a redirection, only change the the URL. Thanks to David Faure and Albert Alstals Cid for the detailed analysis! CCBUG: 155591 M +1 -8 dolphinview.cpp M +6 -6 dolphinview.h M +11 -1 dolphinviewcontainer.cpp M +7 -0 dolphinviewcontainer.h WebSVN link: http://websvn.kde.org/?view=rev&revision=875564