Hi,
I have a server configured as follows:
a standard 2.4.18 kernel, IDE discs, 1Gb RAM (not all used), load avg around
1-2.
a large partition, formatted reiserfs
within large partition are 80 300Mb loopback file systems, formatted ext3.
I got the following assertion yesterday which forced a lot of processes
into D state. I'm not sure how easy it is to reproduce this problem.
Assertion failure in journal_start() at transaction.c:226:
"handle->h_transaction->t_journal == journal"
The oops follows:
invalid operand: 0000
CPU: 1
EIP: 0010:[<c0165908>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010292
eax: 0000006c ebx: c416d4e0 ecx: 00000086 edx: f7771f64
esi: d11cc000 edi: e9bd6be0 ebp: ca735600 esp: d11cdb28
ds: 0018 es: 0018 ss: 0018
Process ipop3d (pid: 3851, stackpage=d11cd000)
Stack: c029c740 c02983d3 c0298b01 000000e2 c029e680 c416d4e0 c416d4e0 ffffffe2
e9bd6be0 dd023ca0 c016080e ca735600 00000001 d11cdc48 00000002 00000128
d11cdb78 e9bd6be0 d43e7e00 00000001 c014b58e e9bd6be0 00000004 e9bd6be0
Call Trace: [<c016080e>] [<c014b58e>] [<c012ae2d>]
[<c0130b83>] [<c012db40>]
[<c015060b>] [<c0150a50>] [<c015196b>] [<c014c03a>]
[<c014b44f>] [<c014c100>]
[<c014c359>] [<c014c3a0>] [<c012fafe>] [<c012fb5c>]
[<c01304ce>] [<c013073b>]
[<c0128f69>] [<c01293cc>] [<c0129270>] [<c01506f1>]
[<c0150c9f>] [<c0151856>]
[<c015cf7b>] [<c016bc77>] [<c0165874>] [<c016595c>]
[<c0161951>] [<c014239a>]
[<c014219d>] [<c014253c>] [<c014a11c>] [<c0129270>]
[<c01366e6>] [<c0136a34>]
[<c0106ffb>]
Code: 0f 0b 83 c4 14 ff 43 08 eb 65 6a 01 68 f0 00 00 00 6a 14 68
>>EIP; c0165908 <journal_start+58/d0> <====Trace; c016080e
<ext3_dirty_inode+6e/100>
Trace; c014b58e <__mark_inode_dirty+2e/a0>
Trace; c012ae2d <generic_file_write+33d/780>
Trace; c0130b83 <add_to_swap_cache+63/b0>
Trace; c012db40 <do_ccupdate_local+0/40>
Trace; c015060b <write_dquot+ab/100>
Trace; c0150a50 <dqput+70/d0>
Trace; c015196b <dquot_drop+3b/50>
Trace; c014c03a <clear_inode+7a/100>
Trace; c014b44f <destroy_inode+1f/30>
Trace; c014c100 <dispose_list+40/60>
Trace; c014c359 <prune_icache+b9/e0>
Trace; c014c3a0 <shrink_icache_memory+20/40>
Trace; c012fafe <shrink_caches+6e/90>
Trace; c012fb5c <try_to_free_pages+3c/60>
Trace; c01304ce <balance_classzone+5e/1b0>
Trace; c013073b <__alloc_pages+11b/180>
Trace; c0128f69 <do_generic_file_read+349/460>
Trace; c01293cc <generic_file_read+7c/130>
Trace; c0129270 <file_read_actor+0/e0>
Trace; c01506f1 <read_dquot+91/100>
Trace; c0150c9f <dqget+15f/1e0>
Trace; c0151856 <dquot_initialize+a6/180>
Trace; c015cf7b <ext3_new_inode+8cb/a10>
Trace; c016bc77 <__jbd_kmalloc+27/80>
Trace; c0165874 <start_this_handle+114/150>
Trace; c016595c <journal_start+ac/d0>
Trace; c0161951 <ext3_create+81/110>
Trace; c014239a <vfs_create+10a/160>
Trace; c014219d <lookup_hash+8d/c0>
Trace; c014253c <open_namei+14c/630>
Trace; c014a11c <dput+1c/150>
Trace; c0129270 <file_read_actor+0/e0>
Trace; c01366e6 <filp_open+36/60>
Trace; c0136a34 <sys_open+34/c0>
Trace; c0106ffb <system_call+33/38>
Code; c0165908 <journal_start+58/d0>
00000000 <_EIP>:
Code; c0165908 <journal_start+58/d0> <==== 0: 0f 0b
ud2a <====Code; c016590a <journal_start+5a/d0>
2: 83 c4 14 add $0x14,%esp
Code; c016590d <journal_start+5d/d0>
5: ff 43 08 incl 0x8(%ebx)
Code; c0165910 <journal_start+60/d0>
8: eb 65 jmp 6f <_EIP+0x6f> c0165977
<journal_start+c7/d0>
Code; c0165912 <journal_start+62/d0>
a: 6a 01 push $0x1
Code; c0165914 <journal_start+64/d0>
c: 68 f0 00 00 00 push $0xf0
Code; c0165919 <journal_start+69/d0>
11: 6a 14 push $0x14
Code; c016591b <journal_start+6b/d0>
13: 68 00 00 00 00 push $0x0
Regards,
Nick.