lkml.org 
[lkml]   [2003]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [2.6] Perl weirdness with ext3 and HTREE
From
Date
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



kjournald starting. Commit interval 5 seconds
EXT3 FS on hdc1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (2961487), 0
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (2944744), 0
Slab corruption: start=d230e184, expend=d230e36f, problemat=d230e1f8
Last user: [<c019ae7f>](ext3_destroy_inode+0x1d/0x21)
Data: ********************************************************************************************************************08 89 A1 C6 ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************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
[<c0199154>] ext3_create+0x55/0xb0
[<c0167be9>] vfs_create+0x79/0xce
[<c0168179>] open_namei+0x39a/0x3ee
[<c0157976>] filp_open+0x3e/0x64
[<c0157edc>] sys_open+0x5b/0x8b
[<c010aaa5>] sysenter_past_esp+0x52/0x71

EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (2944744), 0
Slab corruption: start=e2b7c27c, expend=e2b7c467, problemat=e2b7c2f0
Last user: [<c019ae7f>](ext3_destroy_inode+0x1d/0x21)
Data: ********************************************************************************************************************08 89 A1 C6 ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************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
[<c0199154>] ext3_create+0x55/0xb0
[<c0167be9>] vfs_create+0x79/0xce
[<c0168179>] open_namei+0x39a/0x3ee
[<c0157976>] filp_open+0x3e/0x64
[<c0157edc>] sys_open+0x5b/0x8b
[<c010aaa5>] sysenter_past_esp+0x52/0x71

EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (2944744), 0
Slab corruption: start=e2b7c27c, expend=e2b7c467, problemat=e2b7c2f0
Last user: [<c019ae7f>](ext3_destroy_inode+0x1d/0x21)
Data: ********************************************************************************************************************44 BD 8F 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
[<c0199154>] ext3_create+0x55/0xb0
[<c0167be9>] vfs_create+0x79/0xce
[<c0168179>] open_namei+0x39a/0x3ee
[<c0157976>] filp_open+0x3e/0x64
[<c0157edc>] sys_open+0x5b/0x8b
[<c010aaa5>] sysenter_past_esp+0x52/0x71

EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4759152), 0
Slab corruption: start=cb147184, expend=cb14736f, problemat=cb1471f8
Last user: [<c019ae7f>](ext3_destroy_inode+0x1d/0x21)
Data: ********************************************************************************************************************08 89 A1 C6 ***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************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
[<c0199154>] ext3_create+0x55/0xb0
[<c0167be9>] vfs_create+0x79/0xce
[<c0168179>] open_namei+0x39a/0x3ee
[<c0157976>] filp_open+0x3e/0x64
[<c0157edc>] sys_open+0x5b/0x8b
[<c010aaa5>] sysenter_past_esp+0x52/0x71

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

EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4759122), 0
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4759194), 0
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4710637), 0
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4710637), 0
EXT3-fs warning (device hdc1): ext3_unlink: Deleting nonexistent file (4710637), 0

#!/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

Fcntl.3pm
Hash::Util.3pm
I18N::Collate.3pm
I18N::LangTags.3pm
I18N::LangTags::List.3pm
I18N::Langinfo.3pm
IO.3pm
IO::Dir.3pm
IO::File.3pm
IO::Handle.3pm
IO::Pipe.3pm
IO::Poll.3pm
IO::Seekable.3pm
IO::Select.3pm
IO::Socket.3pm
IO::Socket::INET.3pm
IO::Socket::UNIX.3pm
IPC::Msg.3pm
IPC::Open2.3pm
IPC::Open3.3pm
IPC::Semaphore.3pm
IPC::SysV.3pm
List::Util.3pm
Locale::Constants.3pm
Locale::Country.3pm
Locale::Currency.3pm
Locale::Language.3pm
Locale::Maketext.3pm
Locale::Maketext::TPJ13.3pm
Locale::Script.3pm
MIME::Base64.3pm
MIME::QuotedPrint.3pm
Math::BigFloat.3pm
Math::BigFloat::Trace.3pm
Math::BigInt.3pm
Math::BigInt::Calc.3pm
Math::BigInt::Trace.3pm
Math::BigRat.3pm
Math::Complex.3pm
Math::Trig.3pm
Memoize.3pm
Memoize::AnyDBM_File.3pm
Memoize::Expire.3pm
Memoize::ExpireFile.3pm
Memoize::ExpireTest.3pm
Memoize::NDBM_File.3pm
Memoize::SDBM_File.3pm
Memoize::Storable.3pm
NDBM_File.3pm
NEXT.3pm
Net::Cmd.3pm
Net::Config.3pm
Net::Domain.3pm
Net::FTP.3pm
Net::FTP::A.3pm
Net::FTP::E.3pm
Net::FTP::I.3pm
Net::FTP::L.3pm
Net::FTP::dataconn.3pm
Net::NNTP.3pm
Net::Netrc.3pm
Net::POP3.3pm
Net::Ping.3pm
Net::SMTP.3pm
Net::Time.3pm
Net::hostent.3pm
Net::libnetFAQ.3pm
Net::netent.3pm
Net::protoent.3pm
Net::servent.3pm
O.3pm
Opcode.3pm
POSIX.3pm
PerlIO.3pm
PerlIO::encoding.3pm
PerlIO::scalar.3pm
PerlIO::via.3pm
PerlIO::via::QuotedPrint.3pm
Pod::Checker.3pm
Pod::Find.3pm
Pod::Html.3pm
Pod::InputObjects.3pm
Pod::LaTeX.3pm
Pod::Man.3pm
Pod::ParseLink.3pm
Pod::ParseUtils.3pm
Pod::Parser.3pm
Pod::Plainer.3pm
Pod::Select.3pm
Pod::Text.3pm
Pod::Text::Color.3pm
Pod::Text::Overstrike.3pm
Pod::Text::Termcap.3pm
Pod::Usage.3pm
SDBM_File.3pm
Safe.3pm
Scalar::Util.3pm
Search::Dict.3pm
SelectSaver.3pm
SelfLoader.3pm
Shell.3pm
Socket.3pm
Storable.3pm
Switch.3pm
Symbol.3pm
Sys::Hostname.3pm
Sys::Syslog.3pm
Term::ANSIColor.3pm
Term::Cap.3pm
Term::Complete.3pm
Term::ReadLine.3pm
Test.3pm
Test::Builder.3pm
Test::Harness.3pm
Test::Harness::Assert.3pm
Test::Harness::Iterator.3pm
Test::Harness::Straps.3pm
Test::More.3pm
Test::Simple.3pm
Test::Tutorial.3pm
Text::Abbrev.3pm
Text::Balanced.3pm
Text::ParseWords.3pm
Text::Soundex.3pm
Text::Tabs.3pm
Text::Wrap.3pm
Thread.3pm
Thread::Queue.3pm
Thread::Semaphore.3pm
Tie::Array.3pm
Tie::File.3pm
Tie::Handle.3pm
Tie::Hash.3pm
Tie::Memoize.3pm
Tie::RefHash.3pm
Tie::Scalar.3pm
Tie::SubstrHash.3pm
Time::HiRes.3pm
Time::Local.3pm
Time::gmtime.3pm
Time::localtime.3pm
Time::tm.3pm
UNIVERSAL.3pm
Unicode::Collate.3pm
Unicode::Normalize.3pm
Unicode::UCD.3pm
User::grent.3pm
User::pwent.3pm
Win32.3pm
XS::APItest.3pm
XS::Typemap.3pm
XSLoader.3pm
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.634 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site