Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 500426 - gnome-base/gvfs cannot copy directories from samba
Summary: gnome-base/gvfs cannot copy directories from samba
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-05 20:42 UTC by Lukasz Pawelczyk
Modified: 2014-11-13 13:13 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
A screenshot of how it looks with nautilus (nautilus-samba-copy-dir.jpg,69.93 KB, image/jpeg)
2014-02-05 21:03 UTC, Lukasz Pawelczyk
Details
An output of the mount command (mount.output,1.98 KB, text/plain)
2014-02-06 23:39 UTC, Lukasz Pawelczyk
Details
A strace output of various gvfs commands (strace.tgz,40.22 KB, application/x-compressed-tar)
2014-02-06 23:39 UTC, Lukasz Pawelczyk
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lukasz Pawelczyk 2014-02-05 20:42:17 UTC
When I try to copy a directory from samba mounted share that I mounted using nautilus only an empty file is created at the destination path and error occurs. See screenshot. I've narrowed it down to a command line with gvfs. (see steps to reproduce). It never happened for me on other distributions (fedora/ubuntu).
The system is (amd64) with an exception of GNOME 3.10 (~amd64). It happened on GNOME 3.8 (amd64) as well.


Reproducible: Always

Steps to Reproduce:
havner@arrakis ~ $ ll Downloads/
total 0

havner@arrakis ~ $ gvfs-mount -l | grep betelgeuse
Mount(0): data on betelgeuse -> smb://havner@betelgeuse/data/

havner@arrakis ~ $ gvfs-ls smb://havner@betelgeuse/data/ | grep test
test

havner@arrakis ~ $ gvfs-ls smb://havner@betelgeuse/data/test
test1.txt
test2.txt

havner@arrakis ~ $ gvfs-cat smb://havner@betelgeuse/data/test/test1.txt
testowy plik 1
havner@arrakis ~ $ gvfs-cat smb://havner@betelgeuse/data/test/test2.txt
testowy plik 2

havner@arrakis ~ $ gvfs-copy smb://havner@betelgeuse/data/test Downloads/
Error copying file smb://havner@betelgeuse/data/test: No such file or directory

havner@arrakis ~ $ ll Downloads/
total 0
-rw-r--r-- 1 havner havner 0 02-05 21:37 test

Actual Results:  
An empty file was created instead of a directory

Expected Results:  
A directory with an actual content should've been created.

havner@arrakis ~ $ emerge --info
Portage 2.2.7 (default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.7.3, glibc-2.17, 3.12.9-gentoo x86_64)
=================================================================
System uname: Linux-3.12.9-gentoo-x86_64-Intel-R-_Core-TM-_i7-2600K_CPU_@_3.40GHz-with-gentoo-2.2
KiB Mem:     8072168 total,   1461976 free
KiB Swap:    5241228 total,   5241228 free
Timestamp of tree: Wed, 05 Feb 2014 19:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-lang/python:          2.7.5-r3, 3.3.3
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo steam-overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-11.x"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=corei7 -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=corei7 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/steam"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr clang cli colord cracklib crypt cxx dbus dri dts dvd dvdr eds emboss encode evo exif fam firefox flac fortran gdbm gdm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv icu inotify introspection ipv6 jpeg lcms libkms libnotify libsecret mad map minizip mmx mng modemmanager modules mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl offensive ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 rar readline samba sdl session socialweb spell sse sse2 ssl ssse3 startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vim-syntax vorbis x264 xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard mouse wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US en_GB pl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Comment 1 Lukasz Pawelczyk 2014-02-05 21:03:36 UTC
Created attachment 369652 [details]
A screenshot of how it looks with nautilus
Comment 2 Pacho Ramos gentoo-dev 2014-02-05 21:24:31 UTC
Please provide "emerge -Opv gvfs glib samba cifs-utils" output

Also check your journalctl output when you are reproducing the problem. And try to reproduce on a new created user account with a new home directory
Comment 3 Lukasz Pawelczyk 2014-02-05 21:31:21 UTC
havner@arrakis ~ $ emerge -Opv gvfs glib samba cifs-utils

These are the packages that would be merged, in order:

[ebuild   R   ~] gnome-base/gvfs-1.18.3  USE="bluetooth cdda gnome-online-accounts gtk http libsecret samba systemd udev udisks -afp -archive -avahi -bluray -fuse -gdu -gphoto2 -ios -mtp {-test}" 0 kB
[ebuild   R   ~] dev-libs/glib-2.38.2:2  USE="-debug (-fam) (-selinux) -static-libs -systemtap {-test} -utils -xattr" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 -python2_6" 0 kB
[ebuild   R    ] net-fs/samba-3.6.22  USE="acl aio client fam netapi pam readline server smbclient winbind -addns -ads -avahi -caps -cluster -cups -debug -dmapi -doc -examples -ldap -ldb -quota (-selinux) -smbsharemodes -swat -syslog" 0 kB
[ebuild   R    ] net-fs/cifs-utils-6.1-r1  USE="acl ads caps caps-ng -creds" 0 kB

Total: 4 packages (4 reinstalls), Size of downloads: 0 kB


There is nothing new in journactl when this happens. Tried a new user (created a second ago) and it's still reproducible.
Comment 4 Pacho Ramos gentoo-dev 2014-02-06 19:49:42 UTC
What are your /etc/fstab lines? Maybe you have it mounted with some strange options, also "mount" output could help
Comment 5 Lukasz Pawelczyk 2014-02-06 23:39:37 UTC
Created attachment 369738 [details]
An output of the mount command

The gvfs smb share is mounted at the point of running mount

havner@arrakis ~ $ gvfs-mount -l | grep smb
Mount(0): data on betelgeuse -> smb://havner@betelgeuse/data/
Comment 6 Lukasz Pawelczyk 2014-02-06 23:39:57 UTC
Created attachment 369740 [details]
A strace output of various gvfs commands
Comment 7 Lukasz Pawelczyk 2014-02-06 23:47:07 UTC
I've attached output of the mount command. I don't see anything awkward there. The smb share is not mounted in a traditional unix way but I don't think it's unusual. The gvfs was always something 'soft' for me. Same way 'trash' is not mounted while it's there.

fstab:
havner@arrakis ~ $ grep -v "^#" /etc/fstab
UUID=6d5b2507-67ec-4d37-81c0-444eb3881b48		/		ext4		noatime		0 1

This is a fresh system. Installed as amd64 with gnome 3.8 and then 3.10 (~amd64) when it was unmasked. I didn't even have a chance to brake anything in config files. /etc/samba/smb.conf doesn't even exist (I'v tried with a default one, not change).

I've also attached strace outputs of gvfs-smb during gvfs-ls and gvfs-copy (also their respective straces as well).

What you can see there (gvfs-smb-copy.strace:284 and gvfs-copy.strace:1110) is a message (I suppose a DBUS one) sent from gvfs-smb to gvfs-copy:

1588  recvmsg(6, {msg_name(0)=NULL, msg_iov(1)=[{"\10\1g\0\1s\0\0\4\1s\0A\0\0\0org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code15\0\0\0\0\0\0\0\5\1u\0\1\0\0\0\"\0\0\0Operation not supported by backend\0", 135}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 135

"Operation not supported by backend"

Can you tell me it works fine for you?
Comment 8 Lukasz Pawelczyk 2014-02-06 23:58:09 UTC
Copying files works flawlessly. It fails only for directories.
Comment 9 Pacho Ramos gentoo-dev 2014-02-07 07:07:50 UTC
I can't reply if it works for me since I don't have any cifs server around (only in the work, but I have Ubuntu there :S). Will try to google a bit this afternoon about similar problems with recursive copying of files
Comment 10 Lukasz Pawelczyk 2014-02-07 10:36:26 UTC
Would be nice to find someone who can test it. I'm sure someone from gnome maintainers has a samba share :-)

Anyway, I've googled after this. Had I found the solution I would've posted it here instead of reporting a bug.

And like I told you, it's happening only on gentoo :-(
Comment 11 Pacho Ramos gentoo-dev 2014-02-08 11:13:55 UTC
What does occur when you try to do the same without using gvfs*? (plain "cp" and similar)
Comment 12 Lukasz Pawelczyk 2014-02-08 13:10:14 UTC
I can't do this with plain cp as the share is not mounted in traditional unix way. I already mentioned this.
Comment 13 Lukasz Pawelczyk 2014-02-10 16:18:52 UTC
Is there really no gnome maintainer that has an access to smb share?
I'd really like some confirmation whether this is more common than my machine.
Comment 14 poncho 2014-02-11 00:25:34 UTC
(In reply to Lukasz Pawelczyk from comment #12)
> I can't do this with plain cp as the share is not mounted in traditional
> unix way. I already mentioned this.

can you access your mount in /run/user/YOUR_USER_ID/gvfs/ ?

I think this depends on the fuse useflag and provides a "traditional unix mount"
Comment 15 Lukasz Pawelczyk 2014-02-12 02:14:11 UTC
I don't have /run/user/ID/gvfs

only

/run/user/ID/gvfs-burn

Would you mind telling me what use flag? I can't see anything significant in sys-fs/fuse:

Available versions:  2.9.2 2.9.3 {examples static-libs KERNEL="FreeBSD linux"}
Comment 16 Lukasz Pawelczyk 2014-02-12 02:21:40 UTC
Ok, found it.

It's fuse use flag for the gvfs.

Now I do have my samba shared mounted under /run/user/ID/gvfs

cp -r test ~/Download

from that mount point to my local dir works fine.
Unfortunately it didn't help with the bug itself. Copying using nautilus behaves as before. No change.
Comment 17 Pacho Ramos gentoo-dev 2014-09-05 09:56:11 UTC
are you still hitting this issues with gnome 3.12 and gvfs-1.20.3?
Comment 18 Pacho Ramos gentoo-dev 2014-11-13 13:13:34 UTC
(In reply to Pacho Ramos from comment #17)
> are you still hitting this issues with gnome 3.12 and gvfs-1.20.3?