gvfs doesn't manage sftp and ftp backends properly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gvfs (Ubuntu) |
Fix Released
|
Low
|
Ubuntu Desktop Bugs |
Bug Description
Binary package hint: gvfs-backends
Ubuntu Hardy Heron 8.04 amd64 / x86_64
alpha / beta updated
Note: Everything below happens with ftp (with login) option as well.
Note 2: I think nautilus affects this bug as well. The weird thing about this bug is that it doesn't happen always, therefore I also think nautilus (or something) "caches" or stores the retrieved list of contents of the server folder. Use a new username or server to test this, because when I re-added the 'connect to server', the new window and the connection were ok if I visited previously browsed folders from previous connections, but when I went to a folder or a username that I haven't visited or used before, the window or the connection do not respond and the list of contents of the folder is not shown.
Note 3: As I stated in note 2, we have two situations, one with a greyed out unresponsive window and one with a responsive window (being able to close without "force quit") but with a mouse pointer as "waiting". From what I've tested, they're randomly produced with the steps I explain below.
Note 4: If I hit ctrl-L and enter sftp://<email address hidden>/home/user/ everything is normal, I can also unmount it normally. Only sporadically do I get an unresponsive greyed out window (see note 2). I have to kill the (two) processes related to the sftp connection in order to use it.
Note 5: In my opinion, something goes wrong while it tries to get the list of contents of a destination / folder.
I used 'connect to server' to connect to an sftp (SSH) connection.
Menu Places > Connect to Server
Type: SSH
Server: sftp.example.com
Port: (left blank)
Folder: /home/user
User name: user
Add bookmark: checked
Bookmark name: mysftp
When I hit the connect button, it pops up a new nautilus window, trying to browse the sftp. That's when the problems appear, and I end up with an unresponsive window, probably when it's trying to retrieve the folder's contents. Sometimes the window can be closed (although the mouse pointer is "waiting"), or I have to use the "force quit" option it gives me for nautilus, see note 3.
That very first new window that is automatically opened after hitting the connect button seems to mess up the whole connection.
I'm saying this because I killed the two processes related to this and connected through the sftp bookmark, which was created previously (using 'connect to server'). I used the menu Places > Bookmarks > user (the name of the bookmark), it opened a new window and I could browse my server with no problems. This success could be related to a cached list of contents, see note 2.
Some errors I come accross:
1) If I leave the window (with the mouse pointer as "waiting") open for several minutes, it eventually returns an error:
The folder contents could not be displayed.
Sorry, couldn't display all the contents of "user": DBus error org.freedesktop
2) Trying to unmount using the side pane, I right click on the sftp virtual filesystem and select unmount. After some time I get an error saying this:
Unable to unmount sftp on example.com
DBus error org.freedesktop
3) If I close the nautilus window and open a new one, then double click on the side pane to show the sftp:
Couldn't display "sftp://<email address hidden>/".
Error: DBus error org.freedesktop
Please select another viewer and try again.
Connecting to the server looks ok from the command line:
$ sftp <email address hidden>
Connecting to example.com...
Password:
sftp> ls
[...]
sftp>
The connection is established as netstat outputs:
$ netstat -ep | grep ssh
tcp 0 0 ubuntu.local:43650 example.com:ssh ESTABLISHED user 151065 26425/ssh
$ ps ax | grep -i sftp
26421 ? S 0:00 /usr/lib/
26425 pts/0 Ss+ 0:00 ssh -oForwardX11 no -oForwardAgent no -oClearAllForwa
description: | updated |
Nothing in the /var/log/ logs, nothing that I could detect at least. gvfs/gvfsd- sftp --spawner :1.3 /org/gtk/ gvfs/exec_ spaw/2 rdings yes -oProtocol 2 -oNoHostAuthent icationForLocal host yes -l user -s example.com sftp
Except for this:
$ ps -ax | grep -i sftp
25721 ? S 0:00 /usr/lib/
25725 pts/2 Ss+ 0:00 ssh -oForwardX11 no -oForwardAgent no -oClearAllForwa