Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 420771

Summary: gnome-base/gvfs-1.12.3 (and apps using it, e.g. Nautilus) corrupt files on copy. Caused by prelink?
Product: Gentoo Linux Reporter: Pryka <pryka.iluvatar>
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED NEEDINFO    
Severity: critical CC: pryka.iluvatar, toolchain
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Pryka 2012-06-12 07:40:39 UTC
My gnome have big problem when I copy large files ~1GB and bigger. So when I use nautilus and copy file X(over 1GB) from destination /A to destination /B the crc32/md5 checksum is wrong at directory /B and fresh copy of file is corrupted O_o 
This happens in ~8/10 files... Its almost impossible to copy file in Nautilus without corruption.

How do I know that this aren't my HDD problem? Because when I use terminal and "cp" to make a copy of the same file everything is normal crc32/md5 checksum is fine no corruption... dd also works fine. I checked Thunar file manager and he is working fine to... Just this poor nautilus...

- Anyway I checked my HDD for badblocks, not a single on my drive.
- I checked SMART logs, they also fine.
- I cooked my PC with Prime95 to stress CPU and RAM, also no errors.
- On Windows 7 this problem not exist



Reproducible: Sometimes

Steps to Reproduce:
Just copy a file bigger then ~1GB somewhere on drive.



emerge --info
Portage 2.1.10.65 (default/linux/amd64/10.0, gcc-4.6.3, glibc-2.15-r2, 3.4.1 x86_64)
=================================================================
System uname: Linux-3.4.1-x86_64-Intel-R-_Pentium-R-_Dual_CPU_E2180_@_2.00GHz-with-gentoo-2.1
Timestamp of tree: Mon, 11 Jun 2012 21:15:01 +0000
app-shells/bash:          4.2_p29
dev-java/java-config:     2.1.12
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.8-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.2
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.5, 1.12.1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo roslin sunrise
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 googleearth AdobeFlash-10.3 Nero-EULA-US Oracle-BCLA-JavaSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
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/splash /etc/terminfo"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=n"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.vectranet.pl/gentoo/ http://ftp.vectranet.pl/gentoo/"
LANG="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="pl"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --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/roslin /var/lib/layman/sunrise"
SYNC="rsync://ftp.vectranet.pl/gentoo-portage"
USE="64bit X a52 accessibility acl acpi additions alsa amd64 apng ass audacious automount bash-completion berkdb binary-drivers branding bzip2 cairo cdda cdr clamdtop cli color consolekit cracklib crashreporter crypt css cups cxx dbus device-mapper dri dvd dvdnav edit emerald enca fastscroll fat fbcon fbcondecor ffmpeg fontconfig fortran gadu gcj gdbm gdu gif git gnome gnome-online-accounts gnome-shell gpm gtk gudev hddtemp hires-icons hwdb iconv idn imlib introspection iostats ipv6 java jpeg lame libburn libnotify lua lua-cairo lua-imlib mmx mmxext modules mp3 mudflap multilib nautilus ncurses network-cron nls nptl nsplugin nss ntfs ntfsprogs opengl openmp osdmenu pam pcre png policykit portmon pppd pulseaudio qt3support readline session slang spell sqlite sse sse2 ssl ssse3 subversion symlink syslog tcpd templates threads truetype udev unicode usb weather-metar weather-xoap webm xcb xorg xv xvfb xvid zlib" 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" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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" 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 ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="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"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Pacho Ramos gentoo-dev 2012-06-12 08:32:52 UTC
What nautilus, glib and gvfs versions do you have installed? (emerge -Opv gvfs glib nautilus)

Are you able to reproduce on a new created user account with a new home dir?
Comment 2 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-06-12 08:50:52 UTC
Are you copying files between devices, or on the same hard drive?

Please provide the output of "gvfs-mount --list".

Can you reproduce the problem using the gvfs-copy command from the terminal?
Comment 3 Pryka 2012-06-12 10:13:36 UTC
(In reply to comment #1)
> What nautilus, glib and gvfs versions do you have installed? (emerge -Opv
> gvfs glib nautilus)
> 
> Are you able to reproduce on a new created user account with a new home dir?

[ebuild   R    ] gnome-base/gvfs-1.12.3  USE="cdda gdu http udev -afp -archive -avahi -bluetooth -bluray -doc -fuse -gnome-keyring -gphoto2 -ios -samba -udisks" 0 kB
[ebuild   R    ] dev-libs/glib-2.32.3  USE="-debug -doc (-fam) (-selinux) -static-libs -systemtap -test -utils -xattr" 0 kB
[ebuild   R    ] gnome-base/nautilus-3.2.1-r1  USE="gnome introspection previewer -doc -exif (-packagekit) -sendto -test -tracker -xmp" 0 kB


Sorry but now (In reply to comment #1)
> What nautilus, glib and gvfs versions do you have installed? (emerge -Opv
> gvfs glib nautilus)
> 
> Are you able to reproduce on a new created user account with a new home dir?

[ebuild   R    ] gnome-base/gvfs-1.12.3  USE="cdda gdu http udev -afp -archive -avahi -bluetooth -bluray -doc -fuse -gnome-keyring -gphoto2 -ios -samba -udisks" 0 kB
[ebuild   R    ] dev-libs/glib-2.32.3  USE="-debug -doc (-fam) (-selinux) -static-libs -systemtap -test -utils -xattr" 0 kB
[ebuild   R    ] gnome-base/nautilus-3.2.1-r1  USE="gnome introspection previewer -doc -exif (-packagekit) -sendto -test -tracker -xmp" 0 kB


About new account, at this moment I don't have opportunity to create one and try to reproduce :(
Comment 4 Pryka 2012-06-12 10:20:25 UTC
(In reply to comment #2)
> Are you copying files between devices, or on the same hard drive?
> 
> Please provide the output of "gvfs-mount --list".
> 
> Can you reproduce the problem using the gvfs-copy command from the terminal?

No matter where I'm copy files, it can be between devices HDD or pendrives, or it can be on a same device, issue is still same.


Drive(0): Hard Disc 500 GB
  Type: GProxyDrive (GProxyVolumeMonitorGdu)
  Volume(0): File system 54 GB
    Type: GProxyVolume (GProxyVolumeMonitorGdu)
    Mount(0): File 54 GB -> file:///media/windows
      Type: GProxyMount (GProxyVolumeMonitorGdu)
Drive(1): CD/DVD
  Type: GProxyDrive (GProxyVolumeMonitorGdu)


And yes I can reproduce the problem using the gvfs-copy. The copied file is damaged :(
Comment 5 Pryka 2012-06-12 10:24:05 UTC
I found something like this... same problem on gnome bugizlla:

https://bugzilla.gnome.org/show_bug.cgi?id=677051
Comment 6 Pryka 2012-06-13 19:57:57 UTC
I downgrade the gvfs to v1.12.2-r1 and its good so far. I will keep testing this.
Comment 7 Pacho Ramos gentoo-dev 2012-07-07 13:11:36 UTC
(In reply to comment #6)
> I downgrade the gvfs to v1.12.2-r1 and its good so far. I will keep testing
> this.

Any news?
Comment 8 Pryka 2012-07-07 15:28:52 UTC
Nope... I'm almost recompiled whole system with same result:

(In reply to comment #7)
> (In reply to comment #6)
> > I downgrade the gvfs to v1.12.2-r1 and its good so far. I will keep testing
> > this.
> 
> Any news?

Nope...

I'm almost recompile whole system with same result:

- gvfs 1.12.3 = corrupts

- gvfs 1.12.2-r1 = works fine


Now I'm just waiting for new version of gvfs :|
Comment 9 Pacho Ramos gentoo-dev 2012-07-07 15:43:08 UTC
Will be better to try to find what of the small changes between .2 and .3 versions broke gvfs:
http://git.gnome.org/browse/gvfs/log/?h=gnome-3-4
Comment 10 Pryka 2012-07-07 15:55:37 UTC
(In reply to comment #9)
> Will be better to try to find what of the small changes between .2 and .3
> versions broke gvfs:
> http://git.gnome.org/browse/gvfs/log/?h=gnome-3-4

Sure... It's better than nothing. 

So I Will try to determine which change screws my gvfs.
Comment 11 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-07-07 21:52:46 UTC
According to https://bugs.archlinux.org/task/30061 the file corruption might be caused by something that sys-devel/prelink does to gvfs. Do you have prelink installed?
Comment 12 Pryka 2012-07-09 19:18:35 UTC
(In reply to comment #11)
> According to https://bugs.archlinux.org/task/30061 the file corruption might
> be caused by something that sys-devel/prelink does to gvfs. Do you have
> prelink installed?

Hmmm yes... I would delete it but Wine is puling preling back... 

Any USE flag in Wine to disable that dependency?
Comment 13 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-07-11 00:37:26 UTC
(In reply to comment #12)
> Hmmm yes... I would delete it but Wine is puling preling back... 
> 
> Any USE flag in Wine to disable that dependency?

No. However, it's safe to have prelink installed as long as you don't accidentally/automatically run it on gvfs and related libraries. For example, make sure that you do *not* have PRELINKING="yes" in /etc/conf.d/prelink
Comment 14 Pryka 2012-07-11 16:41:26 UTC
(In reply to comment #13)
> (In reply to comment #12)
> > Hmmm yes... I would delete it but Wine is puling preling back... 
> > 
> > Any USE flag in Wine to disable that dependency?
> 
> No. However, it's safe to have prelink installed as long as you don't
> accidentally/automatically run it on gvfs and related libraries. For
> example, make sure that you do *not* have PRELINKING="yes" in
> /etc/conf.d/prelink

The prelink is disabled on my Getnoo.

Hmm, anyway I will try to unmerge wine and prelink, re-emerge gvfs 1.12.3 and do a couple of tests.

I will let U know guys about result :)

But that probably on Friday evening, so stay tuned, I dunno how but maybe this will help... :(
Comment 15 Pryka 2012-07-13 17:32:27 UTC
Ok I'm finish testing and... Now its working fine... I copy about 10 times ~1,2GB file between partitions and physical devices, checksum was fine.

I will test some more and let U know what happened.
Comment 16 Alexandre Rostovtsev (RETIRED) gentoo-dev 2012-07-15 22:26:19 UTC
@toolchain, is there a way to blacklist glib's libgio and gvfs's libraries from automatic prelinking?
Comment 17 SpanKY gentoo-dev 2012-07-18 12:02:30 UTC
add an env.d file with PRELINK_PATH_MASK set
Comment 18 Pacho Ramos gentoo-dev 2012-07-22 08:50:12 UTC
(In reply to comment #16)
> @toolchain, is there a way to blacklist glib's libgio and gvfs's libraries
> from automatic prelinking?

Alexandre, what exact files need to be preserved?
Comment 19 Ryan Hill (RETIRED) gentoo-dev 2012-07-22 20:57:20 UTC
Or you could get the actual problem fixed instead of papering over it.
Comment 20 Pacho Ramos gentoo-dev 2012-07-23 17:24:18 UTC
(In reply to comment #19)
> Or you could get the actual problem fixed instead of papering over it.

Is this a prelink or gvfs bug?
Comment 21 Ryan Hill (RETIRED) gentoo-dev 2012-07-24 08:26:50 UTC
Sorry, I thought I saw a patch in one of the linked bug reports but I must have been thinking about a different issue.  Something about inode numbers but of course now I can't find it

If you reenable prelink does it start failing again?  Can anyone else reproduce this?

If you do use PRELINK_PATH_MASK then reopen the upstream bug report or file a new one please.
Comment 22 Pacho Ramos gentoo-dev 2013-08-24 13:11:25 UTC
(In reply to Ryan Hill from comment #21)
> Sorry, I thought I saw a patch in one of the linked bug reports but I must
> have been thinking about a different issue.  Something about inode numbers
> but of course now I can't find it
> 
> If you reenable prelink does it start failing again?  Can anyone else
> reproduce this?
> 
> If you do use PRELINK_PATH_MASK then reopen the upstream bug report or file
> a new one please.

Also test with latest version