Date: Sun, 07 Feb 2010 21:07:07 +0100 From: =?UTF-8?B?R3VzdGF1IFDDqXJleg==?= <gperez@entel.upc.edu> To: freebsd-gnome@freebsd.org Subject: Re: Problems accessing files with gvfs-fuse-daemon Message-ID: <4B6F1D6B.2070408@entel.upc.edu> In-Reply-To: <4B6D4624.803@entel.upc.edu> References: <4B6D4624.803@entel.upc.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
En/na Gustau PĂ©rez ha escrit: > Hi everyone, > > I'm having problems with gvfs-fuse-daemon. I'm trying to find out why > apps like vlc are unable to read files > in a samba share. As you may know, if you try to open a file in a share > throu nautilus, if the apps is not gvfs-aware nautilus launches the apps > passing a filename like : > > $HOME/.gvfs/share in server/file.avi > > then through it works through the gvfs-fuse-daemon which does the magic. > > Well, anytime I try this, the app seems to freeze. No matter which > app I try. So I decided to open a terminal a did like this : > > # cp $HOME/.gvfs/share in server/file.avi /tmp > > Then, with tcpdump I saw a few packets were transferred between the > server and the client then transfer stopped. In the terminal I got and > Input/output error. > > Even the gvfs-* apps (like gvfs-cat, gvfs-copy) fail. The error with > this apps comes from glib (gio part, when making a read syscall, so it > makes me think that probably the error is in gvfs-fuse-daemon, when the > kernel returns the read syscall to the fuse daemon that handles the > reads in that mount point). > > I noticed that when I let gnome-session launch gvfs-fuse-daemon > without arguments (normal situation) the transfer stops at 1Mb of size. > > If I try launching gvfs-fuse-daemon with "-o direct_io" in a > different mount like (say .gvfs_tmp), then I'm able > to copy files with both cp and gvfs-copy through that mount point. Even > I'm able to play mp3 files with mpg123, but vlc, totem and other apps > still fail to access that share (they transfer a little amount of data > and then they stop). > > With this config (with .gvfs_tmp, -o direct_io), If I try to launch > and mpg123 (which works) and then and vlc instance, everything freezes > again. mpg123 stops playing until I kill vlc, then it can continue > playing. The same with kaffeine and other friends not gvfs-aware. > > As I said, if I let gvfs-fuse-daemon without options (as > gnome-session does) I can do nothing through .gvfs/. No cp, no mpg123, > anything at all. -o direct_io allows me a few things. > > I'm yesterday updated (before the jpeg library update). gvfs is 1.4.3_1. > > My system is kernel and world updated too : > > FreeBSD gusiport 8.0-STABLE FreeBSD 8.0-STABLE #0: Fri Feb 5 > 18:50:54 CET 2010 > root@gusiport:/usr/obj/usr/src/sys/CUSTOM amd64 > > Clean /etc/src.conf (no special options given there). The fuse > module is update before the kernel and world were last updated. > > I'm puzzled because I saw anyone having such a problem. I checked > /usr/ports/UPDATING, just I case I missed anything importa. > > Is anyone having such a problem ? Any idea where can I start > debugging ? If I can provide any additional info, let me know. > > Regards, > > Gus > > I debugged the daemon with truss. I got a very strange serie of syscall with a lot of POLLs and READs to a channel returning "ERR#35 resource temporary unavailable). I discovered some socket call returning a channel that then produce that read errors. Any idea ? I posted the trace to pastebin : http://pastebin.com/m79cf37f3 If you search for socket syscalls, you'll see it normally creates two, and then it connects them to a unix socket in /var/tmp. For example I see it connecting two sockets to /var/tmp/gvfs-gus-B9lo36Ky/socket1 /var/tmp/gvfs-gus-B9lo36Ky/socket2 But only the second can be found. I can't see the first. So probably this is the problem. Anyone has the same problem ? I can provide more info. Regards, Gus -- PGP KEY : http://www-entel.upc.edu/gus/gus.asc
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B6F1D6B.2070408>