When I run a perl script, I got an kernel ext3 bug.
Created attachment 25676 [details] The kernel oops
Obvious questions: is it repeatable and if so, is the script public ?
It is not repeatable. The script is very similar to lndir from X11R6. When it happened, it was linking a HUGE source directory to another, like # lndir.pl src tgt where `src' was a HUGE tree and `tgt' was a newly created dir.
Which kernel? You mention 2.4-0.9.3.1, but the beta3 kernel (which has the same ext3 version) uses modular ext3 and your oops seems to have ext3 built-in. Thanks.
I rebuilt the kernel with the builtin ext3.
Hopefully fixed in ext3 cvs head. We'll pull that into the kernel srpm and push a build through shortly.
I was told it was fixed a couple of days ago in 0.9.5. Here is the relevant change: Index: transaction.c =================================================================== RCS file: /cvsroot/gkernel/ext3/fs/jbd/transaction.c,v retrieving revision 1.62 retrieving revision 1.62.2.1 diff -u -r1.62 -r1.62.2.1 --- transaction.c 2001/07/28 06:01:33 1.62 +++ transaction.c 2001/07/30 02:29:25 1.62.2.1 @@ -552,6 +561,9 @@ JBUFFER_TRACE(jh, "stealing from checkpoint mode"); J_ASSERT_JH(jh, jh->b_next_transaction == NULL); J_ASSERT_JH(jh, jh->b_frozen_data == NULL); + + J_ASSERT(handle->h_buffer_credits > 0); + handle->h_buffer_credits--; /* This will clear BH_Dirty and set BH_JBDDirty. */ JBUFFER_TRACE(jh, "file as BJ_Reserved");
This defect is considered SHOULD-FIX for Fairfax.
Fixed in recent kernel builds: roswell has the patch.