Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 185058 - net-p2p/azureus-2.5.0.4 corrupts fat32 filesystem
Summary: net-p2p/azureus-2.5.0.4 corrupts fat32 filesystem
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Petteri Räty (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-12 10:12 UTC by Lyall Pearce
Modified: 2008-09-29 20:31 UTC (History)
4 users (show)

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


Attachments
Torrent file for use by Azureus which causes the problem (removed,141.01 KB, text/plain)
2007-07-12 10:13 UTC, Lyall Pearce
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lyall Pearce 2007-07-12 10:12:35 UTC
Userland application is able to cause a corruption in the FAT32 filesystem - which  windows disk checking is able to find and correct.

Panic messages are reported in /var/log/messages as 

Jul 11 18:54:39 lyalls-pc fat_bmap_cluster: request beyond EOF (i_pos 2457790)
Jul 11 18:54:39 lyalls-pc FAT: Filesystem panic (dev hdd1)
Jul 11 18:54:39 lyalls-pc fat_bmap_cluster: request beyond EOF (i_pos 2457790)
Jul 11 18:54:39 lyalls-pc FAT: Filesystem panic (dev hdd1)


Reproducible: Always

Steps to Reproduce:
Logged in as a non-root user.
$ id -a
uid=1000(lyall) gid=100(users) groups=10(wheel),18(audio),19(cdrom),35(games),100(users),250(portage),407(vfat),408(ntfs),409(smb),411(usbd),414(tomcat),415(plugdev),416(jscreator)


Disk on which the filesystem is installed is reported by the kernel in /var/log/messages as (filtered)

Jul 12 18:58:27 lyalls-pc ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
Jul 12 18:58:27 lyalls-pc hdd: WDC WD1600JB-00EVA0, ATA DISK drive
Jul 12 18:58:27 lyalls-pc hdd: max request size: 512KiB
Jul 12 18:58:27 lyalls-pc hdd: 312581808 sectors (160041 MB) w/8192KiB Cache, CHS=19457/255/63, UDMA(33)
Jul 12 18:58:27 lyalls-pc hdd: cache flushes supported
Jul 12 18:58:27 lyalls-pc hdd: hdd1


FAT32 filesystem is mounted using the following /etc/fstab entry

/dev/hdd1               /mnt/win_1              vfat    defaults,gid=vfat,umask=0,umask=007,quiet       0 0

Azureus is configured to have all downloaded files and temp areas on the fat32 filesystem.

1. Run Azureus 2.5.0.4 using Sun Java 1.6.0_01 SWT v3318, gtk
2. Load the attached torrent
3. Queue the torrent for downloading
4. After allocation is complete, Stop the torrent
5. Perform a force check

To reproduce, simply delete the allocated files and do a re-check.

Actual Results:  
errors in /var/log/messages and the mounted filesystem changes to read-only - only returning to read-write after a umount/mount.
Windows disk check reports s01e03 file as having length past eof (after about an hour).

If Azureus, under Windows, is used to allocate the files, there are no subsequent problems.


Expected Results:  
No errors.
I do not expect a userland process to be able to corrupt an underlying filesystem.

lyall@lyalls-pc:~
$ emerge --info
Portage 2.1.2.9 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.20-gentoo-r8 i686)
=================================================================
System uname: 2.6.20-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Sun, 08 Jul 2007 11:20:01 +0000
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=pentium4 -march=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -mtune=pentium4 -march=pentium4 -fomit-frame-pointer -pipe"
DISTDIR="/portage/Repository/distfiles"
FEATURES="autoconfig distlocks metadata-transfer nostrip parallel-fetch sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://mirror.internode.on.net/pub/gentoo ftp://mirror.pacific.net.au/linux/Gentoo http://mymirror.asiaosc.org/gentoo/ http://www.zentek-international.com/mirrors/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_AU"
MAKEOPTS="-j3"
PKGDIR="/portage/Repository/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/portage/tmp"
PORTDIR="/portage/Repository"
SYNC="rsync://mirror.internode.on.net/gentoo-portage"
USE="X aac acl alsa apache2 berkdb bitmap-fonts cli cracklib crypt cups dri dvd dvdr flac fortran gdbm gnome gpm iconv ipv6 isdnlog java jpeg jpeg2k kde libg++ midi mikmod mp3 mplayer mudflap ncurses nls nptl nptlonly opengl openmp pam pcre perl pppd python readline reflection session spl ssl tcpd threads tiff truetype-fonts type1-fonts unicode vorbis x86 xinerama xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fglrx radeon vesa fbdev"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

lyall@lyalls-pc:~
$
Comment 1 Lyall Pearce 2007-07-12 10:13:57 UTC
Created attachment 124626 [details]
Torrent file for use by Azureus which causes the problem
Comment 2 Petteri Räty (RETIRED) gentoo-dev 2007-07-14 18:11:07 UTC
I doubt this is anything caused by Gentoo maintained code so we should get this issue to an upstream bug tracker. For that there are three possibilities:
-kernel
-Sun
-Azureus

I am thinking about the first one as programs should not be able to corrupt file systems that easily from user space. Kernel: Any thoughts? Also please try to replicate this issues with the latest gentoo-sources.
Comment 3 Petteri Räty (RETIRED) gentoo-dev 2007-11-22 21:05:24 UTC
Please test azureus 3.0.3.4
Comment 4 Lyall Pearce 2007-11-24 04:39:15 UTC
(In reply to comment #3)
> Please test azureus 3.0.3.4
> 

3.0.2.2 has not had a problem since I updated it.
I keep my Gentoo system fully up to date (currently running kernel  2.6.22-gentoo-r9).
My concern was not the application that did the damage (azureus) but the fact that the FAT32 filesystem could be corrupted in this way.
Still, the problem has not recurred, so I guess I am ok with closing this case, if the powers that be feel it should be closed.
Comment 5 svrmarty 2008-09-28 21:29:05 UTC
this is a warez torrent download
Comment 6 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-09-29 10:00:10 UTC
Comment on attachment 124626 [details]
Torrent file for use by Azureus which causes the problem

removed
Comment 7 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-09-29 10:01:57 UTC
Comment on attachment 124626 [details]
Torrent file for use by Azureus which causes the problem

removed
Comment 8 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-09-29 10:03:05 UTC
Bugzilla admins: please remove the attachment, I tried but looks like I can't.
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2008-09-29 10:49:13 UTC
The torrent contains no private key, and distributing a .torrent is legal (connecting to the tracker however may be illegal in some jurisdictions). I don't see any reason to remove it.

I will however weigh in on the bug itself - I'd strongly bet that either the FAT32 filesystem already had some corruption (forcibly fsck it), or that you are hitting a kernel bug as your kernel is quite old. Test with a much newer kernel, and also make sure that you fsck the partition. You could also try a client such as rtorrent to exclude Azureus being the source of the problem.
Comment 10 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2008-09-29 20:31:22 UTC
(In reply to comment #9)
> The torrent contains no private key, and distributing a .torrent is legal
> (connecting to the tracker however may be illegal in some jurisdictions). I
> don't see any reason to remove it.

Seeing those tracker lawsuits I just though that better be safe than sorry. If it's OK with you, fine then. IANAL :)

> I will however weigh in on the bug itself - I'd strongly bet that either the
> FAT32 filesystem already had some corruption (forcibly fsck it), or that you
> are hitting a kernel bug as your kernel is quite old. Test with a much newer
> kernel, and also make sure that you fsck the partition. You could also try a
> client such as rtorrent to exclude Azureus being the source of the problem.

Yeah the reporter said in comment 4 that the bug didn't occur again and it's been a while already so let's close it as WORKSFORME.