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