Re: 2.4.0 kernel paging error

Daniel Phillips (phillips@innominate.de)
Wed, 10 Jan 2001 17:55:05 +0100


Mark Hindley wrote:
> I am running 2.4.0 final. I got the following failed paging request which
> produced a complete freeze.
>
> As you can see it was precipitated by cron starting to run some
> housekeeping stuff overnight.
>
> Has anyone else had prblems?

It looks real. It was executing this line of clear_inode in fs/inode.c:

380 if (inode->i_sb && inode->i_sb->s_op && inode->i_sb->s_op->clear_inode)
^^^^^^^^^^^^^
and it blew up here ----->

Seemingly, the page the inode's sb->super_block_operations lives on was freed
between the test of i_sb->s_op and ->s_op->clear_inode. This gets out of my
territory. Other than SMP, I don't see how this can happen. I reformatted
your oops (gack, too many timestamps) and provided a disassembly....

Unable to handle kernel paging request at virtual address c4870840
printing eip:
c013d747
*pde = 03d61063
*pte = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[clear_inode+159/216]
EFLAGS: 00010282
eax: c4870820 ebx: c338f4a0 ecx: c338f4a8 edx: c1169fa4
esi: c1169fa4 edi: c1dccde8 ebp: c1169fac esp: c1169f78
ds: 0018 es: 0018 ss: 0018
Process kswapd (pid: 3, stackpage=c1169000)
Stack: c338f4a0 c013d7bf c338f4a0 c1dccc08 c1dccc00 c013d9c2 c1169fa4 000000ee
00000004 00000000 000003b3 c2c8fde8 c3e38bc8 00000000 c013d9f1 00000000
c0126453 00000006 00000004 00000006 00000004 00010f00 c01d32d7 c1168239
Call Trace: [dispose_list+63/88] [prune_icache+234/248] [shrink_icache_memory+33/48]
[do_try_to_free_pages+91/128] [kswapd+116/272] [kernel_thread+40/56]
Code: 8b 40 20 85 c0 74 06 53 ff d0 83 c4 04 8b 83 e0 00 00 00 85
0: 8b 40 20 mov 0x20(%eax),%eax
3: 85 c0 test %eax,%eax
5: 74 06 je d <_EIP+0xd> 0000000d Before first symbol
7: 53 push %ebx
8: ff d0 call *%eax
a: 83 c4 04 add $0x4,%esp
d: 8b 83 e0 00 00 00 mov 0xe0(%ebx),%eax
13: 85 00 test %eax,(%eax)

--
Daniel
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/