Hello,
I've been playing around with XFS (among ReiserFS and JFS) and hit
a bug while running 8 parallel bonnie++ processes on a dual
Pentium III 500Mhz machine with 256M memory. Two bonnies
triggered an assertion failure somewhere around vnode handling;
those processes were killed immediately by the kernel. The
filesystem the test was running on was 36GB in size, each bonnie++
using 3x3G files for block IO test and 30000 files for metadata
testing. The kernel is 2.4.0-test5 patched[1] with xfs (CVS
version 20000829), reiserfs (3.6.13) and jfs (0.0.10) in this
order and merged. Attached is the syslog excerpt as well as the
oops processed by ksymoops.
I'll try to answer any upcoming questions and willing to try out
fixes for two weeks from now on, but after then I won't have
access to the test machine.
Peter
[1] The patch is available:
http://home.cern.ch/fuji/patches/jumbofs-2.4.0-test5-B1.bz2
--
.+'''+. .+'''+. .+'''+. .+'''+. .+''
Kelemen Péter / \ / \ Peter.Kelemen@xxxxxxx
.+' `+...+' `+...+' `+...+' `+...+'
--- Begin Message ---
Sep 1 11:23:08 pcrd18 kernel: xfs_iget_core: ambiguous vns: vp/0xc6a8e620,
invp/0xc8b51a40
Sep 1 11:23:08 pcrd18 kernel: XFS assertion failed: vp->v_bh.bh_first != NULL,
file: xfs_vnode.c, line: 488
Sep 1 11:23:08 pcrd18 kernel: kernel BUG at xfs_debug.c:50!
Sep 1 11:23:08 pcrd18 kernel: invalid operand: 0000
Sep 1 11:23:08 pcrd18 kernel: CPU: 1
Sep 1 11:23:08 pcrd18 kernel: EIP: 0010:[assfail+45/52]
Sep 1 11:23:08 pcrd18 kernel: EFLAGS: 00010246
Sep 1 11:23:08 pcrd18 kernel: eax: 0000001e ebx: c8b51a40 ecx: c030720c
edx: 00000000
Sep 1 11:23:08 pcrd18 kernel: esi: c8b51a40 edi: c8b51a40 ebp: c8defb88
esp: c8defb7c
Sep 1 11:23:08 pcrd18 kernel: ds: 0018 es: 0018 ss: 0018
Sep 1 11:23:08 pcrd18 kernel: Process bonnie++ (pid: 31645,
stackpage=c8def000)
Sep 1 11:23:08 pcrd18 kernel: Stack: c02d045a c02d044e 00000032 c8defc18
c01eb3e8 c02d39a0 c02d3759 000001e8
Sep 1 11:23:08 pcrd18 kernel: 00000009 c8b51a40 c8b51a40 14003fff
c1474400 00000001 00000286 c8b51a40
Sep 1 11:23:08 pcrd18 kernel: c8b51a40 c8b51a40 c8defc14 c01eb86b
c78095b8 00000002 c02c69b1 00000000
Sep 1 11:23:08 pcrd18 kernel: Call Trace: [extflag.506+33298/115032]
[extflag.506+33286/115032] [vn_revalidate+72/276] [extflag.506+46936/115032]
[extflag.506+46353/115032] [vn_trace_exit+87/96] [offsets.238+689/6976]
Sep 1 11:23:08 pcrd18 kernel: [xfs_vn_iget+46/56]
[xfs_iget_core+616/2140] [xfs_iget_core+2104/2140]
[xfs_dir2_data_check+958/1552] [xfs_vn_iget+46/56] [vn_initialize+301/424]
[linvfs_read_inode+32/72] [get_new_inode+229/380]
Sep 1 11:23:08 pcrd18 kernel: [iget4+221/232] [vn_get+40/240]
[xfs_iget_core+482/2140] [xfs_iget+45/56] [xfs_dir_lookup_int+633/1284]
[vn_trace_entry+87/96] [extflag.506+27397/115032] [xfs_lookup+224/388]
Sep 1 11:23:08 pcrd18 kernel: [xfs_trans_unlocked_item+35/64]
[linvfs_lookup+147/296] [real_lookup+125/292] [path_walk+1615/2224]
[__user_walk+60/92] [sys_newstat+23/108] [system_call+52/56] [stext+43/204]
Sep 1 11:23:08 pcrd18 kernel: Code: 0f 0b 89 ec 5d c3 90 55 89 e5 81 ec 00 01
00 00 56 53 8b 45
Sep 1 13:08:00 pcrd18 kernel: xfs_iget_core: ambiguous vns: vp/0xcf020ac0,
invp/0xc7576ea0
Sep 1 13:08:00 pcrd18 kernel: XFS assertion failed: vp->v_bh.bh_first != NULL,
file: xfs_vnode.c, line: 488
Sep 1 13:08:00 pcrd18 kernel: kernel BUG at xfs_debug.c:50!
Sep 1 13:08:00 pcrd18 kernel: invalid operand: 0000
Sep 1 13:08:00 pcrd18 kernel: CPU: 0
Sep 1 13:08:00 pcrd18 kernel: EIP: 0010:[assfail+45/52]
Sep 1 13:08:00 pcrd18 kernel: EFLAGS: 00010246
Sep 1 13:08:00 pcrd18 kernel: eax: 0000001e ebx: c7576ea0 ecx: c030720c
edx: 00000000
Sep 1 13:08:00 pcrd18 kernel: esi: c7576ea0 edi: c7576ea0 ebp: c23b1b88
esp: c23b1b7c
Sep 1 13:08:00 pcrd18 kernel: ds: 0018 es: 0018 ss: 0018
Sep 1 13:08:00 pcrd18 kernel: Process bonnie++ (pid: 31648,
stackpage=c23b1000)
Sep 1 13:08:00 pcrd18 kernel: Stack: c02d045a c02d044e 00000032 c23b1c18
c01eb3e8 c02d39a0 c02d3759 000001e8
Sep 1 13:08:00 pcrd18 kernel: 00000009 c7576ea0 c7576ea0 14003fff
c1474400 00000001 00000286 c7576ea0
Sep 1 13:08:00 pcrd18 kernel: c7576ea0 c7576ea0 c23b1c14 c01eb86b
c2ea7e78 00000002 c02c69b1 00000000
Sep 1 13:08:00 pcrd18 kernel: Call Trace: [extflag.506+33298/115032]
[extflag.506+33286/115032] [vn_revalidate+72/276] [extflag.506+46936/115032]
[extflag.506+46353/115032] [vn_trace_exit+87/96] [offsets.238+689/6976]
Sep 1 13:08:00 pcrd18 kernel: [xfs_vn_iget+46/56]
[xfs_iget_core+616/2140] [xfs_iget_core+2104/2140]
[xfs_dir2_data_check+656/1552] [xfs_vn_iget+46/56] [vn_initialize+301/424]
[linvfs_read_inode+32/72] [get_new_inode+229/380]
Sep 1 13:08:00 pcrd18 kernel: [iget4+221/232] [vn_get+40/240]
[xfs_iget_core+482/2140] [xfs_iget+45/56] [xfs_dir_lookup_int+633/1284]
[vn_trace_entry+87/96] [extflag.506+27397/115032] [xfs_lookup+224/388]
Sep 1 13:08:00 pcrd18 kernel: [xfs_trans_unlocked_item+35/64]
[linvfs_lookup+147/296] [real_lookup+125/292] [path_walk+1615/2224]
[__user_walk+60/92] [sys_newstat+23/108] [system_call+52/56] [stext+43/204]
Sep 1 13:08:00 pcrd18 kernel: Code: 0f 0b 89 ec 5d c3 90 55 89 e5 81 ec 00 01
00 00 56 53 8b 45
--- End Message ---
--- Begin Message ---
ksymoops 2.3.4 on i686 2.4.0-test5-jumbofs. Options used
-v /w/fuji/build/cvs/linux-2.4-xfs/linux/vmlinux (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.0-test5-jumbofs/ (default)
-m /boot/System.map-2.4.0-test5-jumbofs (specified)
No modules in ksyms, skipping objects
Sep 1 11:23:08 pcrd18 kernel: invalid operand: 0000
Sep 1 11:23:08 pcrd18 kernel: CPU: 1
Sep 1 11:23:08 pcrd18 kernel: EIP: 0010:[assfail+45/52]
Sep 1 11:23:08 pcrd18 kernel: EFLAGS: 00010246
Sep 1 11:23:08 pcrd18 kernel: eax: 0000001e ebx: c8b51a40 ecx: c030720c
edx: 00000000
Sep 1 11:23:08 pcrd18 kernel: esi: c8b51a40 edi: c8b51a40 ebp: c8defb88
esp: c8defb7c
Sep 1 11:23:08 pcrd18 kernel: ds: 0018 es: 0018 ss: 0018
Sep 1 11:23:08 pcrd18 kernel: Process bonnie++ (pid: 31645,
stackpage=c8def000)
Sep 1 11:23:08 pcrd18 kernel: Stack: c02d045a c02d044e 00000032 c8defc18
c01eb3e8 c02d39a0 c02d3759 000001e8
Sep 1 11:23:08 pcrd18 kernel: 00000009 c8b51a40 c8b51a40 14003fff
c1474400 00000001 00000286 c8b51a40
Sep 1 11:23:08 pcrd18 kernel: c8b51a40 c8b51a40 c8defc14 c01eb86b
c78095b8 00000002 c02c69b1 00000000
Sep 1 11:23:08 pcrd18 kernel: Call Trace: [extflag.506+33298/115032]
[extflag.506+33286/115032] [vn_revalidate+72/276] [extflag.506+46936/115032]
[extflag.506+46353/115032] [vn_trace_exit+87/96] [offsets.238+689/6976]
Sep 1 11:23:08 pcrd18 kernel: Code: 0f 0b 89 ec 5d c3 90 55 89 e5 81 ec 00 01
00 00 56 53 8b 45
Using defaults from ksymoops -t elf32-i386 -a i386
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 0f 0b ud2a
Code; 00000002 Before first symbol
2: 89 ec movl %ebp,%esp
Code; 00000004 Before first symbol
4: 5d popl %ebp
Code; 00000005 Before first symbol
5: c3 ret
Code; 00000006 Before first symbol
6: 90 nop
Code; 00000007 Before first symbol
7: 55 pushl %ebp
Code; 00000008 Before first symbol
8: 89 e5 movl %esp,%ebp
Code; 0000000a Before first symbol
a: 81 ec 00 01 00 00 subl $0x100,%esp
Code; 00000010 Before first symbol
10: 56 pushl %esi
Code; 00000011 Before first symbol
11: 53 pushl %ebx
Code; 00000012 Before first symbol
12: 8b 45 00 movl 0x0(%ebp),%eax
Sep 1 13:08:00 pcrd18 kernel: invalid operand: 0000
Sep 1 13:08:00 pcrd18 kernel: CPU: 0
Sep 1 13:08:00 pcrd18 kernel: EIP: 0010:[assfail+45/52]
Sep 1 13:08:00 pcrd18 kernel: EFLAGS: 00010246
Sep 1 13:08:00 pcrd18 kernel: eax: 0000001e ebx: c7576ea0 ecx: c030720c
edx: 00000000
Sep 1 13:08:00 pcrd18 kernel: esi: c7576ea0 edi: c7576ea0 ebp: c23b1b88
esp: c23b1b7c
Sep 1 13:08:00 pcrd18 kernel: ds: 0018 es: 0018 ss: 0018
Sep 1 13:08:00 pcrd18 kernel: Process bonnie++ (pid: 31648,
stackpage=c23b1000)
Sep 1 13:08:00 pcrd18 kernel: Stack: c02d045a c02d044e 00000032 c23b1c18
c01eb3e8 c02d39a0 c02d3759 000001e8
Sep 1 13:08:00 pcrd18 kernel: 00000009 c7576ea0 c7576ea0 14003fff
c1474400 00000001 00000286 c7576ea0
Sep 1 13:08:00 pcrd18 kernel: c7576ea0 c7576ea0 c23b1c14 c01eb86b
c2ea7e78 00000002 c02c69b1 00000000
Sep 1 13:08:00 pcrd18 kernel: Call Trace: [extflag.506+33298/115032]
[extflag.506+33286/115032] [vn_revalidate+72/276] [extflag.506+46936/115032]
[extflag.506+46353/115032] [vn_trace_exit+87/96] [offsets.238+689/6976]
Sep 1 13:08:00 pcrd18 kernel: Code: 0f 0b 89 ec 5d c3 90 55 89 e5 81 ec 00 01
00 00 56 53 8b 45
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: 0f 0b ud2a
Code; 00000002 Before first symbol
2: 89 ec movl %ebp,%esp
Code; 00000004 Before first symbol
4: 5d popl %ebp
Code; 00000005 Before first symbol
5: c3 ret
Code; 00000006 Before first symbol
6: 90 nop
Code; 00000007 Before first symbol
7: 55 pushl %ebp
Code; 00000008 Before first symbol
8: 89 e5 movl %esp,%ebp
Code; 0000000a Before first symbol
a: 81 ec 00 01 00 00 subl $0x100,%esp
Code; 00000010 Before first symbol
10: 56 pushl %esi
Code; 00000011 Before first symbol
11: 53 pushl %ebx
Code; 00000012 Before first symbol
12: 8b 45 00 movl 0x0(%ebp),%eax
--- End Message ---
|