Bug#628497: gvfs: copying results in empty files

Martin Insulander insulander.martin at gmail.com
Sun May 29 15:39:27 UTC 2011


Package: gvfs
Version: 1.6.4-3
Severity: grave
Justification: causes non-serious data loss

Recently I upgraded my system (after 5 months unused), and specially xfce4 with
thunar. I found that I cannot copy files with Thunar, they end up empty. I also
tried with gvfs-copy and get the same result.

I've tried on samba resources, reiser4 home dir and SD-card (through Android).

A short description of the results using gvfs-copy|move|rename.

$ echo "hej" > a
$ gvfs-copy a b
$ cat b
$
$ gvfs-move a c
$ cat c
hej
$
$ gvfs-rename c d
Rename successful. New uri: file:///home/martin/b
$ cat d
hej
$

If it helps I've added the response from dbus-monitor below.

The dbus-monitor gives the following when copying a file:
------------------------------------------------------------------------------------------------
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=112
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.221"
   string ""
   string ":1.221"
method call sender=:1.221 -> dest=org.freedesktop.DBus serial=1
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method call sender=:1.221 -> dest=org.gtk.vfs.Daemon serial=2
path=/org/gtk/vfs/mounttracker; interface=org.gtk.vfs.MountTracker;
member=listMountableInfo
method return sender=:1.9 -> dest=:1.221 reply_serial=2
   array [
      struct {
         string "http"
         string "http"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "archive"
         string "archive"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs+sd"
         string "davs+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav+sd"
         string "dav+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dns-sd"
         string "dns-sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-server"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-network"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs"
         string "davs"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav"
         string "dav"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "localtest"
         string "localtest"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "sftp"
         string "sftp"
         array [
            string "ssh"
         ]
         int32 22
         boolean true
      }
      struct {
         string "smb-share"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "cdda"
         string "cdda"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "ftp"
         string "ftp"
         array [
         ]
         int32 21
         boolean true
      }
      struct {
         string "burn"
         string "burn"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "trash"
         string "trash"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "obex"
         string "obex"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "computer"
         string "computer"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "network"
         string "network"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "afc"
         string "afc"
         array [
         ]
         int32 1
         boolean false
      }
      struct {
         string "gphoto2"
         string "gphoto2"
         array [
         ]
         int32 0
         boolean false
      }
   ]
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=113
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.221"
   string ":1.221"
   string ""

The dbus-monitor gives the following when moving a file:
-------------------------------------------------------------------------------------------------
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=112
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.221"
   string ""
   string ":1.221"
method call sender=:1.221 -> dest=org.freedesktop.DBus serial=1
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method call sender=:1.221 -> dest=org.gtk.vfs.Daemon serial=2
path=/org/gtk/vfs/mounttracker; interface=org.gtk.vfs.MountTracker;
member=listMountableInfo
method return sender=:1.9 -> dest=:1.221 reply_serial=2
   array [
      struct {
         string "http"
         string "http"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "archive"
         string "archive"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs+sd"
         string "davs+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav+sd"
         string "dav+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dns-sd"
         string "dns-sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-server"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-network"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs"
         string "davs"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav"
         string "dav"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "localtest"
         string "localtest"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "sftp"
         string "sftp"
         array [
            string "ssh"
         ]
         int32 22
         boolean true
      }
      struct {
         string "smb-share"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "cdda"
         string "cdda"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "ftp"
         string "ftp"
         array [
         ]
         int32 21
         boolean true
      }
      struct {
         string "burn"
         string "burn"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "trash"
         string "trash"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "obex"
         string "obex"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "computer"
         string "computer"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "network"
         string "network"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "afc"
         string "afc"
         array [
         ]
         int32 1
         boolean false
      }
      struct {
         string "gphoto2"
         string "gphoto2"
         array [
         ]
         int32 0
         boolean false
      }
   ]
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=113
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.221"
   string ":1.221"
   string ""


----------------------------------------------------------------------



$echo "hej" > a
$ gvfs-move a b
$ cat b
hej
$


signal sender=org.freedesktop.DBus -> dest=(null destination) serial=114
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.222"
   string ""
   string ":1.222"
method call sender=:1.222 -> dest=org.freedesktop.DBus serial=1
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method call sender=:1.222 -> dest=org.gtk.vfs.Daemon serial=2
path=/org/gtk/vfs/mounttracker; interface=org.gtk.vfs.MountTracker;
member=listMountableInfo
method return sender=:1.9 -> dest=:1.222 reply_serial=2
   array [
      struct {
         string "http"
         string "http"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "archive"
         string "archive"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs+sd"
         string "davs+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav+sd"
         string "dav+sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dns-sd"
         string "dns-sd"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-server"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "smb-network"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "davs"
         string "davs"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "dav"
         string "dav"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "localtest"
         string "localtest"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "sftp"
         string "sftp"
         array [
            string "ssh"
         ]
         int32 22
         boolean true
      }
      struct {
         string "smb-share"
         string "smb"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "cdda"
         string "cdda"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "ftp"
         string "ftp"
         array [
         ]
         int32 21
         boolean true
      }
      struct {
         string "burn"
         string "burn"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "trash"
         string "trash"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "obex"
         string "obex"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "computer"
         string "computer"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "network"
         string "network"
         array [
         ]
         int32 0
         boolean false
      }
      struct {
         string "afc"
         string "afc"
         array [
         ]
         int32 1
         boolean false
      }
      struct {
         string "gphoto2"
         string "gphoto2"
         array [
         ]
         int32 0
         boolean false
      }
   ]
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=115
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.223"
   string ""
   string ":1.223"
method call sender=:1.223 -> dest=org.freedesktop.DBus serial=1
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello
method call sender=:1.223 -> dest=org.gtk.vfs.Metadata serial=2
path=/org/gtk/vfs/metadata; interface=org.gtk.vfs.Metadata; member=Move
   array of bytes "/home/martin/.local/share/gvfs-metadata/home"
   array of bytes "/a"
   array of bytes "/b"
method return sender=:1.126 -> dest=:1.223 reply_serial=2
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=116
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.222"
   string ":1.222"
   string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=117
path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;
member=NameOwnerChanged
   string ":1.223"
   string ":1.223"
   string ""





-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.31.12-1 (PREEMPT)
Locale: LANG=sv_SE.UTF-8, LC_CTYPE=sv_SE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gvfs depends on:
ii  libc6                         2.13-4     Embedded GNU C Library: Shared lib
ii  libdbus-1-3                   1.4.8-3    simple interprocess messaging syst
ii  libexpat1                     2.0.1-7    XML parsing C library - runtime li
ii  libgconf2-4                   2.28.1-6   GNOME configuration database syste
ii  libgdu0                       2.30.1-2   GObject based Disk Utility Library
ii  libglib2.0-0                  2.28.6-1   The GLib library of C routines
ii  libgnome-keyring0             3.0.0-2    GNOME keyring services library
ii  libudev0                      167-3      libudev shared library
ii  x11-utils                     7.6+2      X11 utilities

Versions of packages gvfs recommends:
ii  dbus                          1.4.8-3    simple interprocess messaging syst
ii  policykit-1-gnome             0.101-2    GNOME authentication agent for Pol

Versions of packages gvfs suggests:
ii  gvfs-backends                 1.6.4-3    userspace virtual filesystem - bac

-- no debconf information






More information about the pkg-gnome-maintainers mailing list