linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [2.6] Perl weirdness with ext3 and HTREE
@ 2003-08-02 20:37 Martin Schlemmer
  2003-08-03  7:01 ` Danek Duvall
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Martin Schlemmer @ 2003-08-02 20:37 UTC (permalink / raw)
  To: KML; +Cc: akpm, adilger, ext3-users, x86-kernel

[-- Attachment #1: Type: text/plain, Size: 955 bytes --]

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




[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread
* RE: [2.6] Perl weirdness with ext3 and HTREE
@ 2003-08-05 21:53 Christopher Li
  2003-08-05 22:08 ` Martin Schlemmer
  0 siblings, 1 reply; 12+ messages in thread
From: Christopher Li @ 2003-08-05 21:53 UTC (permalink / raw)
  To: azarah; +Cc: KML, akpm, adilger, ext3-users, x86-kernel



> -----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

> 
> 



^ permalink raw reply	[flat|nested] 12+ messages in thread
* RE: [2.6] Perl weirdness with ext3 and HTREE
@ 2003-08-05 22:40 Christopher Li
  0 siblings, 0 replies; 12+ messages in thread
From: Christopher Li @ 2003-08-05 22:40 UTC (permalink / raw)
  To: azarah; +Cc: KML, akpm, adilger, ext3-users, x86-kernel



> -----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 



^ permalink raw reply	[flat|nested] 12+ messages in thread
* RE: [2.6] Perl weirdness with ext3 and HTREE
@ 2003-08-06 20:22 Christopher Li
  2003-08-06 22:28 ` Martin Schlemmer
  0 siblings, 1 reply; 12+ messages in thread
From: Christopher Li @ 2003-08-06 20:22 UTC (permalink / raw)
  To: azarah; +Cc: KML, akpm, adilger, ext3-users, x86-kernel



> -----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




^ permalink raw reply	[flat|nested] 12+ messages in thread
* RE: [2.6] Perl weirdness with ext3 and HTREE
@ 2003-08-08 19:50 Christopher Li
  0 siblings, 0 replies; 12+ messages in thread
From: Christopher Li @ 2003-08-08 19:50 UTC (permalink / raw)
  To: azarah; +Cc: KML, akpm, adilger, ext3-users, x86-kernel

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
> 
> 
> 
> 



^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2003-08-08 19:50 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-02 20:37 [2.6] Perl weirdness with ext3 and HTREE Martin Schlemmer
2003-08-03  7:01 ` Danek Duvall
     [not found] ` <m365lfgpob.fsf@bzzz.home.net>
2003-08-03 12:51   ` Martin Schlemmer
2003-08-05 18:28 ` Christopher Li
2003-08-05 19:23   ` Martin Schlemmer
2003-08-06  1:03   ` Patrick McLean
2003-08-05 21:53 Christopher Li
2003-08-05 22:08 ` Martin Schlemmer
2003-08-05 22:40 Christopher Li
2003-08-06 20:22 Christopher Li
2003-08-06 22:28 ` Martin Schlemmer
2003-08-08 19:50 Christopher Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).