Hi,
Doing the following I can generate an assertion in ext3 0.0.7a.
I have an ext3 filesystem on /foo. I export /foo via nfs. I then mount
via localhost:/foo onto /mnt. Start up a dd to generate a file on the nfs
mount. (cd /mnt; dd if=/dev/zero of=./dd.out bs=1024k), then on the
localhost filesystem /foo I rm the file. rm -f /foo/dd.out.
This results in "ext3_free_inode: bit already cleared for inode XXXX"
messages or the following assertion.
FYI, this does not occur when using ext2. Nor does it occur when I
perform the 'rm' operation across NFS rather than on the local
filesystem
behind nfs' back.
The ksymoops output for the assertion is below.
I'm gonna look into it further, just wondering if this rings any bells
with any others. :)
Thanks.
------
Message from syslogd@slippey at Thu Aug 2 15:19:37 2001 ...
slippey kernel: Assertion failure in journal_revoke() at revoke.c line
278: "!test_and_set_bit(BH_Revoked, &bh->b_state)"
ksymoops 2.3.4 on i686 2.2.18pre11-va2.9.5. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.2.18pre11-va2.9.5/ (default)
-m /boot/System.map-2.2.18pre11-va2.9.5 (specified)
Warning (compare_maps): ksyms_base symbol module_list_R__ver_module_list not
found in System.map. Ignoring ksyms_base entry
Unable to handle kernel NULL pointer dereference at virtual address 00000000
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<8015b722>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00013282
eax: 0000006d ebx: 86e6ce40 ecx: 00000012 edx: 00000029
esi: 874d70e0 edi: 86e6ce40 ebp: 823ce880 esp: 827cdc58
ds: 0018 es: 0018 ss: 0018
Process nfsd (pid: 794, process nr: 90, stackpage=827cd000)
Stack: 802534f0 00000116 802535e0 86e6ce40 823d96d8 00000001 823ce880 80154932
823ce880 00199676 86e6ce40 00199676 00000000 00000000 00000400 80154c7a
823ce880 00000001 823d96d8 86e6ce40 00199676 00000000 00000400 823d96d8
Call Trace: [<802534f0>] [<802535e0>] [<80154932>]
[<80154c7a>] [<8015579e>] [<801557c5>] [<80155b18>]
[<8014e06e>] [<8014dcb9>] [<801389cb>]
[<8809d837>] [<8809daf2>] [<8809df08>] [<8809ed1a>]
[<8809f1d3>]
[<801903de>] [<8017f1ca>] [<8017f4d9>]
[<801947f0>] [<8017020d>] [<880c32c8>] [<880aa540>]
[<880a41b3>]
[<880aa540>] [<8809c3f1>] [<880aa540>]
[<88085958>] [<880aa400>] [<880a9edc>] [<8809c229>]
[<80109213>]
Code: c6 05 00 00 00 00 00 83 c4 14 8d 74 26 00 b8 0f 00 00 00 0f
>>EIP; 8015b722 <journal_revoke+b2/15c> <====Trace; 802534f0
<cprt+7a30/b4c0>
Trace; 802535e0 <cprt+7b20/b4c0>
Trace; 80154932 <ext3_forget+a2/f8>
Trace; 80154c7a <check_block_empty+f6/238>
Trace; 8015579e <trunc_dindirect+24a/288>
Trace; 801557c5 <trunc_dindirect+271/288>
Trace; 80155b18 <ext3_truncate+c4/3fc>
Trace; 8014e06e <ext3_delete_inode+c6/184>
Trace; 8014dcb9 <ext3_put_inode+9/10>
Trace; 801389cb <iput+83/1ec>
Trace; 8809d837 <[nfsd]nfsd_iget+93/ac>
Trace; 8809daf2 <[nfsd]find_fh_dentry+42/320>
Trace; 8809df08 <[nfsd]fh_verify+138/304>
Trace; 8809ed1a <[nfsd]nfsd_open+1e/164>
Trace; 8809f1d3 <[nfsd]nfsd_write+3b/418>
Trace; 801903de <udp_rcv+1f2/220>
Trace; 8017f1ca <ip_local_deliver+242/298>
Trace; 8017f4d9 <ip_rcv+2b9/2f0>
Trace; 801947f0 <inet_sendmsg+0/90>
Trace; 8017020d <net_bh+175/1d0>
Trace; 880c32c8 <[nfsd]nfscache+18768/1e01f>
Trace; 880aa540 <[nfsd]nfsd_procedures3+e0/2c0>
Trace; 880a41b3 <[nfsd]nfsd3_proc_write+bb/d4>
Trace; 880aa540 <[nfsd]nfsd_procedures3+e0/2c0>
Trace; 8809c3f1 <[nfsd]nfsd_dispatch+d5/164>
Trace; 880aa540 <[nfsd]nfsd_procedures3+e0/2c0>
Trace; 88085958 <[sunrpc]svc_process+2bc/574>
Trace; 880aa400 <[nfsd]nfsd_svcstats+0/40>
Trace; 880a9edc <[nfsd]nfsd_version3+0/10>
Trace; 8809c229 <[nfsd]nfsd+ed/1e0>
Trace; 80109213 <kernel_thread+23/30>
Code; 8015b722 <journal_revoke+b2/15c>
00000000 <_EIP>:
Code; 8015b722 <journal_revoke+b2/15c> <==== 0: c6 05 00 00 00
00 00 movb $0x0,0x0 <====Code; 8015b729
<journal_revoke+b9/15c>
7: 83 c4 14 add $0x14,%esp
Code; 8015b72c <journal_revoke+bc/15c>
a: 8d 74 26 00 lea 0x0(%esi,1),%esi
Code; 8015b730 <journal_revoke+c0/15c>
e: b8 0f 00 00 00 mov $0xf,%eax
Code; 8015b735 <journal_revoke+c5/15c>
13: 0f 00 00 sldt (%eax)
1 warning issued. Results may not be reliable.