Hi I just wanted to update my system but the perl-5.8.2-r1 ebuild caued filesystem coruption. It is always the same file that caused it, I tried several times. !!! ERROR: There appears to be FILE SYSTEM CORRUPTION. A file that is listed !!! as existing is not capable of being stat'd. If you are using an !!! experimental kernel, please boot into a stable one, force an fsck, !!! and ensure your filesystem is in a sane state. 'shutdown -Fr now' !!! File: /var/tmp/portage/perl-5.8.2-r1/image/usr/share/man/man3/Hash::Util.tmp !!! Error: [Errno 2] No such file or directory: '/var/tmp/portage/perl-5.8.2-r1/image/usr/share/man/man3/Hash::Util.tmp' There was a message concerning this file before but my scrollback is not long enough. I will redirect the output to a file once I fixed my filesystem, again. Reproducible: Always Steps to Reproduce: 1.emerge perl 2. 3. Actual Results: corrupted filesystem (ext3) incomplete merge Expected Results: successfull merge of perl Portage 2.0.49-r20 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9, 2.4.22-gentoo-r5) ================================================================= System uname: 2.4.22-gentoo-r5 i686 AMD Athlon(tm) XP 2400+ Gentoo Base System version 1.4.3.10p1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -mcpu=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="X aalib alsa apm arts avi cdr crypt cups encode esd foomaticdb gif gnome gpm gtk guile imlib java jpeg kde libg++ libwww mad motif mozilla moznocompose moznoirc mpeg ncurses nls oggvorbis opengl oss pam pdflib png python qt quicktime radeon readline ruby sdl spell ssl svga tcltk tcpd tetex tiff truetype usb x86 xml2 xmms xv xvid zlib"
This is propably the relevant stuff, there where a lot more error messages but I think most of them can be ignorded. Can't open /var/tmp/portage/perl-5.8.2-r1/image//usr/share/man/man3/Hash::Util.tmp for writing: File exists at installman line 188 find: /var/tmp/portage/perl-5.8.2-r1/image/usr/share/man/man3/Hash::Util.tmp: No such file or directory find: /var/tmp/portage/perl-5.8.2-r1/image//usr/share/man/man3/Hash::Util.tmp: No such file or directory find: /var/tmp/portage/perl-5.8.2-r1/image//usr/share/man/man3/Hash::Util.tmp: No such file or directory find: /var/tmp/portage/perl-5.8.2-r1/image//usr/share/man/man3/Hash::Util.tmp: No such file or directory find: /var/tmp/portage/perl-5.8.2-r1/image//usr/share/man/man3/Hash::Util.tmp: No such file or directory !!! ERROR: There appears to be FILE SYSTEM CORRUPTION. A file that is listed !!! as existing is not capable of being stat'd. If you are using an !!! experimental kernel, please boot into a stable one, force an fsck, !!! and ensure your filesystem is in a sane state. 'shutdown -Fr now' !!! File: /var/tmp/portage/perl-5.8.2-r1/image/usr/share/man/man3/Hash::Util.tmp !!! Error: [Errno 2] No such file or directory: '/var/tmp/portage/perl-5.8.2-r1/image/usr/share/man/man3/Hash::Util.tmp'
I just had the same problem. Digging around here, I found bug #24991. Seems it's a bug in the way the kernel handles HTREE on ext3. The solution is to disable HTREE on the partition that holds your portage build files. tune2fs -O ^dir_index /dev/<device> I just did this (while the filesystem was mounted, though it's probably safer to unmount it first) and did emerge perl. Portage did its thing. btw, that bug mostly refers to 2.5 kernels and later, but at the very bottom, some people report it happening in 2.4.22-gentoo-r5 as well (I'm on -r2). Hope that helps.
OK that helped, I deactiveted HTREE now and was able to emerge it sucessfully. Thank you. So that is a work around, not a fix. But even when it is a Kernelbug, as it seems to be, why does it only show while emerging perl?(so far) And what does HTREE support do? Is it OK to leave it deactivated, or could that cause even more serious problems than the one it is a workaround for?
From what I'm told (I don't know much about the internal structure of file systems myself), HTREE is just one way ext3 can index files and directories. I'm also told that disabling it won't affect performance (though I enabled it again after perl was finished). This is a workaround. The fix is to upgrade your kernel, as this seems to be a kernel bug. From reading that other bug report, 2.4.22-gentoo-r7 is not affected by this, and a friend of mine was just bragging that he didn't have any problems with 2.6.1. YMMV. As for why Perl does this and other packages do not, I have no clue. Perhaps someone else will chime in and enlighten the non-kernel-hackers among us :-)
*** This bug has been marked as a duplicate of 24991 ***