Hi I have mailed about this previously, but back then it was not really confirmed, so I have let it be at that. Anyhow, problem is that for some reason 2.5/2.6 ext3 with HTREE support do not like what perl-5.8.0 does during installation. It *seems* like one of the temporary files created during manpage installation do not get unlinked properly, or gets into the hash (this possible?) and cause issues. It seems to work flawless on 2.4 still. Also, to be honest, I do not have that much free time these days, so if an interest in helping me/us debug this, it will be appreciated if some direction in what is needed/suggestions can be given as to what is required. There are a few users that experience this issue, and I am sure that we can get whatever info needed. A bug on our tracker is here with more (hopefully) complete info: http://bugs.gentoo.org/show_bug.cgi?id=24991 Thanks, -- Martin Schlemmer
I'm seeing this as well, and will be quite happy to try any patches that might come out for the problem. Danek
I can take a look at it. Is there any way to reproduce this bug without installing the whole gentoo? It would be nice if I can just download some package to make it happen. Thanks, Chris On Sat, Aug 02, 2003 at 10:37:05PM +0200, Martin Schlemmer wrote:> Hi > > I have mailed about this previously, but back then it was not > really confirmed, so I have let it be at that. > > Anyhow, problem is that for some reason 2.5/2.6 ext3 with HTREE > support do not like what perl-5.8.0 does during installation. > It *seems* like one of the temporary files created during manpage > installation do not get unlinked properly, or gets into the > hash (this possible?) and cause issues. > > It seems to work flawless on 2.4 still. > > Also, to be honest, I do not have that much free time these days, > so if an interest in helping me/us debug this, it will be appreciated > if some direction in what is needed/suggestions can be given as to what > is required. There are a few users that experience this issue, and > I am sure that we can get whatever info needed. > > A bug on our tracker is here with more (hopefully) complete info: > > http://bugs.gentoo.org/show_bug.cgi?id=24991 > > > Thanks, > > -- > > Martin Schlemmer > > >
On Tue, 2003-08-05 at 20:28, Christopher Li wrote:> I can take a look at it. > > Is there any way to reproduce this bug without installing the > whole gentoo? It would be nice if I can just download some > package to make it happen. >I cannot really see that it is a Gentoo specific problem, but who knows. I will try to get a CD of another distro somewhere, and get that on a box to test - currently work/whatnot just keeps me pretty tied up :( Another reason why I posted, is now that 2.6 is more widely used/tested, its not only me that gets this, but other users as well - thus I hoped that somebody with more time wanted to have a crack at it. Back to the problem - on the same system, a 2.4 kernel works fine, but a 2.5/6 kernel activates a race that creates an invalid entry. I guess the primary reason why not many people see this, is because most non-Gentoo folk do not compile perl-5.8.0 from source. Just grab the perl source, if you want, I can mail you the ebuild that should give some direction in how to compile it, or grab your local .spec, configure it (maybe with install location not in /), and then just compile and finally install to a ext3 FS with HTREE enabled. Usually over here, it keeps on leaving an invalid entry to ..usr/share/man/man3/Hash::Util.tmp. If it works fine (with a 2.6 kernel), I will go and bang my head against a wall, and shutup until I can make time to try and track this - if not, any ideas as to creating it outside the perl install (or rather the man page part of the install process) would be great. Thanks,> Thanks, > > Chris > > > On Sat, Aug 02, 2003 at 10:37:05PM +0200, Martin Schlemmer wrote: > > Hi > > > > I have mailed about this previously, but back then it was not > > really confirmed, so I have let it be at that. > > > > Anyhow, problem is that for some reason 2.5/2.6 ext3 with HTREE > > support do not like what perl-5.8.0 does during installation. > > It *seems* like one of the temporary files created during manpage > > installation do not get unlinked properly, or gets into the > > hash (this possible?) and cause issues. > > > > It seems to work flawless on 2.4 still. > > > > Also, to be honest, I do not have that much free time these days, > > so if an interest in helping me/us debug this, it will be appreciated > > if some direction in what is needed/suggestions can be given as to what > > is required. There are a few users that experience this issue, and > > I am sure that we can get whatever info needed. > > > > A bug on our tracker is here with more (hopefully) complete info: > > > > http://bugs.gentoo.org/show_bug.cgi?id=24991 > > > > > > Thanks, > > > > -- > > > > Martin Schlemmer > > > > > > > >-- Martin Schlemmer
> -----Original Message----- > From: Martin Schlemmer [mailto:azarah@gentoo.org] > Sent: Tuesday, August 05, 2003 12:23 PM > To: Christopher Li > Cc: KML; akpm@digeo.com; adilger@clusterfs.com; ext3-users@redhat.com; > x86-kernel@gentoo.org > Subject: Re: [2.6] Perl weirdness with ext3 and HTREE > > > On Tue, 2003-08-05 at 20:28, Christopher Li wrote: > > I can take a look at it. > > > > Is there any way to reproduce this bug without installing the > > whole gentoo? It would be nice if I can just download some > > package to make it happen. > > > > I cannot really see that it is a Gentoo specific problem, but > who knows. > I will try to get a CD of another distro somewhere, and get that on a > box to test - currently work/whatnot just keeps me pretty tied up :( > Another reason why I posted, is now that 2.6 is more widely > used/tested, > its not only me that gets this, but other users as well - thus I hoped > that somebody with more time wanted to have a crack at it.I am not claiming it is a gentoo issue. I just want to duplicate this bug with minimal damage to my box.> > Back to the problem - on the same system, a 2.4 kernel works fine, but > a 2.5/6 kernel activates a race that creates an invalid > entry. I guess > the primary reason why not many people see this, is because most > non-Gentoo folk do not compile perl-5.8.0 from source. > > Just grab the perl source, if you want, I can mail you the ebuild that > should give some direction in how to compile it, or grab your local > .spec, configure it (maybe with install location not in /), and then > just compile and finally install to a ext3 FS with HTREE enabled. > Usually over here, it keeps on leaving an invalid entry to > ..usr/share/man/man3/Hash::Util.tmp.OK, I will try the perl install first.> > If it works fine (with a 2.6 kernel), I will go and bang my > head against > a wall, and shutup until I can make time to try and track > this - if not, > any ideas as to creating it outside the perl install (or > rather the man > page part of the install process) would be great. >You can do a strace on the perl install, then grep for all the file changes happen on that directory. There is a good chance follow the strace log can duplicate the bug also. Thanks Chris> >
> -----Original Message----- > From: Martin Schlemmer [mailto:azarah@gentoo.org] > Sent: Tuesday, August 05, 2003 3:08 PM > To: Christopher Li > Cc: KML; akpm@digeo.com; adilger@clusterfs.com; ext3-users@redhat.com; > x86-kernel@gentoo.org > Subject: RE: [2.6] Perl weirdness with ext3 and HTREE> Yep, did that. I had a simple c program once that tried to > simulate all file operations on that file, and the 'real'It is all the file operations on that *directory* that matters. Touch a single file is unlikely make htree split.> man page that gets installed. Did not have the same effect > however. Might be that I was off by something. Don't have > it however anymore, as it was some months before, just before > I mailed the first time. >Chris
> -----Original Message----- > From: Martin Schlemmer [mailto:azarah@gentoo.org] > Sent: Tuesday, August 05, 2003 12:23 PM > To: Christopher Li > Cc: KML; akpm@digeo.com; adilger@clusterfs.com; ext3-users@redhat.com; > x86-kernel@gentoo.org > Subject: Re: [2.6] Perl weirdness with ext3 and HTREE > > > On Tue, 2003-08-05 at 20:28, Christopher Li wrote: > > I can take a look at it. > > > > Is there any way to reproduce this bug without installing the > > whole gentoo? It would be nice if I can just download some > > package to make it happen. > > > > Just grab the perl source, if you want, I can mail you the ebuild that > should give some direction in how to compile it, or grab your local > .spec, configure it (maybe with install location not in /), and then > just compile and finally install to a ext3 FS with HTREE enabled. > Usually over here, it keeps on leaving an invalid entry to > ..usr/share/man/man3/Hash::Util.tmp. >I am running 2.6-test2 kernel. Download the perl 5.8.0 (stable.tar.gz). ./Configure --prefix=/mnt/hdc3; make; make install. It did not happen for me. Hash::Util.3 was installed correctly. (Of course, I did turn on directory index) Can you send me more infomation how you build the perl package and install it? I guess I have to do more gentoo like step to duplicate it :-) Thanks Chris
Thanks, that script has successfully massed up my box. I will play with it in the weekend. Chris> -----Original Message----- > From: Martin Schlemmer [mailto:azarah@gentoo.org] > Sent: Wednesday, August 06, 2003 3:28 PM > To: Christopher Li > Cc: KML; akpm@digeo.com; adilger@clusterfs.com; ext3-users@redhat.com; > x86-kernel@gentoo.org > Subject: RE: [2.6] Perl weirdness with ext3 and HTREE > > > On Wed, 2003-08-06 at 22:22, Christopher Li wrote: > > > > Just grab the perl source, if you want, I can mail you > the ebuild that > > > should give some direction in how to compile it, or grab > your local > > > .spec, configure it (maybe with install location not in > /), and then > > > just compile and finally install to a ext3 FS with HTREE enabled. > > > Usually over here, it keeps on leaving an invalid entry to > > > ..usr/share/man/man3/Hash::Util.tmp. > > > > > > > I am running 2.6-test2 kernel. Download the perl 5.8.0 > (stable.tar.gz). > > ./Configure --prefix=/mnt/hdc3; make; make install. > > > > It did not happen for me. Hash::Util.3 was installed correctly. > > (Of course, I did turn on directory index) > > > > Can you send me more infomation how you build the perl package > > and install it? I guess I have to do more gentoo like step > to duplicate > > it :-) > > > > I have gotten a few of these while testing: > > ----------------------------------------- > EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file > (4759186), 0 > Slab corruption: start=cb147184, expend=cb14736f, problemat=cb1471f8 > Last user: [<c019ae7f>](ext3_destroy_inode+0x1d/0x21) > Data: > ************************************************************** > ******************************************************F4 F1 > 15 F6 > ************************************************************** > ************************************************************** > ************************************************************** > ************************************************************** > ************************************************************** > *************************************************************A5 > Next: 71 F0 2C .7F AE 19 C0 71 F0 2C .******************** > slab error in check_poison_obj(): cache `ext3_inode_cache': object was > modified after freeing > Call Trace: > [<c0141634>] check_poison_obj+0x161/0x1a1 > [<c0143128>] kmem_cache_alloc+0x11f/0x159 > [<c019ae46>] ext3_alloc_inode+0x18/0x34 > [<c019ae46>] ext3_alloc_inode+0x18/0x34 > [<c0171f74>] alloc_inode+0x1c/0x14d > [<c01729db>] new_inode+0x1a/0xa2 > [<c0192207>] ext3_new_inode+0x41/0x6d8 > [<c014313c>] kmem_cache_alloc+0x133/0x159 > [<c01a0244>] new_handle+0x1c/0x4e > [<c01992e4>] ext3_mkdir+0x74/0x2b6 > [<c01665dc>] permission+0x2f/0x4b > [<c0168555>] vfs_mkdir+0x6d/0xbf > [<c016865e>] sys_mkdir+0xb7/0xf7 > [<c010aaa5>] sysenter_past_esp+0x52/0x71 > > ----------------------------------------- > > A more complete one is attached (just more similar ones). > > Attached is a script (test.sh) and a list of man page names > (list) that > I can recreate it without needing perl. The list may or may not be > pruned some more, but I will try tonight again after some sleep ;) > > Here is a test run (note that it do the same with symlinks instead of > hard links): > > ----------------------------------------- > nosferatu space # uname -a > Linux nosferatu 2.6.0-test2-bk5 #2 SMP Wed Aug 6 00:21:15 > SAST 2003 i686 > Intel(R) Pentium(R) 4 CPU 2.40GHz GenuineIntel GNU/Linux > nosferatu space # dumpe2fs /dev/hdc1 | grep features > dumpe2fs 1.34 (25-Jul-2003) > Filesystem features: has_journal dir_index filetype > needs_recovery > sparse_super large_file > nosferatu space # pwd > /space > nosferatu space # mount | grep `pwd` > /dev/hdc1 on /space type ext3 (rw,noatime) > nosferatu space # ls foo/ > ls: foo/: No such file or directory > nosferatu space # cat test.sh > #!/bin/bash > > i=1 > > testdir="`pwd`/foo" > > (rm -rf "$testdir"; rm -rf "$testdir") &>/dev/null > mkdir -p "$testdir" > > for x in $(cat list) > do > temp="$testdir/${x/3pm/tmp}" > x="$testdir/${x}" > > touch "$temp" > ln "$temp" "$x" > rm -f "$temp" > > # echo "Pass $i" > > # i=$((i+1)) > done > > nosferatu space # ./test.sh > nosferatu space # ls foo/ > ls: foo/Win32.tmp: No such file or directory > Fcntl.3pm PerlIO::via.3pm > Hash::Util.3pm PerlIO::via::QuotedPrint.3pm > I18N::Collate.3pm Pod::Checker.3pm > I18N::LangTags.3pm Pod::Find.3pm > I18N::LangTags::List.3pm Pod::Html.3pm > I18N::Langinfo.3pm Pod::InputObjects.3pm > IO.3pm Pod::LaTeX.3pm > IO::Dir.3pm Pod::Man.3pm > IO::File.3pm Pod::ParseLink.3pm > IO::Handle.3pm Pod::ParseUtils.3pm > IO::Pipe.3pm Pod::Parser.3pm > IO::Poll.3pm Pod::Plainer.3pm > IO::Seekable.3pm Pod::Select.3pm > IO::Select.3pm Pod::Text.3pm > IO::Socket.3pm Pod::Text::Color.3pm > IO::Socket::INET.3pm Pod::Text::Overstrike.3pm > IO::Socket::UNIX.3pm Pod::Text::Termcap.3pm > IPC::Msg.3pm Pod::Usage.3pm > IPC::Open2.3pm SDBM_File.3pm > IPC::Open3.3pm Safe.3pm > IPC::Semaphore.3pm Scalar::Util.3pm > IPC::SysV.3pm Search::Dict.3pm > List::Util.3pm SelectSaver.3pm > Locale::Constants.3pm SelfLoader.3pm > Locale::Country.3pm Shell.3pm > Locale::Currency.3pm Socket.3pm > Locale::Language.3pm Storable.3pm > Locale::Maketext.3pm Switch.3pm > Locale::Maketext::TPJ13.3pm Symbol.3pm > Locale::Script.3pm Sys::Hostname.3pm > MIME::Base64.3pm Sys::Syslog.3pm > MIME::QuotedPrint.3pm Term::ANSIColor.3pm > Math::BigFloat.3pm Term::Cap.3pm > Math::BigFloat::Trace.3pm Term::Complete.3pm > Math::BigInt.3pm Term::ReadLine.3pm > Math::BigInt::Calc.3pm Test.3pm > Math::BigInt::Trace.3pm Test::Builder.3pm > Math::BigRat.3pm Test::Harness.3pm > Math::Complex.3pm Test::Harness::Assert.3pm > Math::Trig.3pm Test::Harness::Iterator.3pm > Memoize.3pm Test::Harness::Straps.3pm > Memoize::AnyDBM_File.3pm Test::More.3pm > Memoize::Expire.3pm Test::Simple.3pm > Memoize::ExpireFile.3pm Test::Tutorial.3pm > Memoize::ExpireTest.3pm Text::Abbrev.3pm > Memoize::NDBM_File.3pm Text::Balanced.3pm > Memoize::SDBM_File.3pm Text::ParseWords.3pm > Memoize::Storable.3pm Text::Soundex.3pm > NDBM_File.3pm Text::Tabs.3pm > NEXT.3pm Text::Wrap.3pm > Net::Cmd.3pm Thread.3pm > Net::Config.3pm Thread::Queue.3pm > Net::Domain.3pm Thread::Semaphore.3pm > Net::FTP.3pm Tie::Array.3pm > Net::FTP::A.3pm Tie::File.3pm > Net::FTP::E.3pm Tie::Handle.3pm > Net::FTP::I.3pm Tie::Hash.3pm > Net::FTP::L.3pm Tie::Memoize.3pm > Net::FTP::dataconn.3pm Tie::RefHash.3pm > Net::NNTP.3pm Tie::Scalar.3pm > Net::Netrc.3pm Tie::SubstrHash.3pm > Net::POP3.3pm Time::HiRes.3pm > Net::Ping.3pm Time::Local.3pm > Net::SMTP.3pm Time::gmtime.3pm > Net::Time.3pm Time::localtime.3pm > Net::hostent.3pm Time::tm.3pm > Net::libnetFAQ.3pm UNIVERSAL.3pm > Net::netent.3pm Unicode::Collate.3pm > Net::protoent.3pm Unicode::Normalize.3pm > Net::servent.3pm Unicode::UCD.3pm > O.3pm User::grent.3pm > Opcode.3pm User::pwent.3pm > POSIX.3pm Win32.3pm > PerlIO.3pm XS::APItest.3pm > PerlIO::encoding.3pm XS::Typemap.3pm > PerlIO::scalar.3pm XSLoader.3pm > nosferatu space # > ---------------------------------- > > > Thanks, > > -- > > Martin Schlemmer > > > >