page_alloc bug in 2.4.17-pre8
This machine had been up for 2-1/2 days and had run this backup (afio) twice successfully.
Here's line 108 of page_alloc.c:
if (PageLRU(page))
BUG();Hopefully this doesn't indicate a CPU problem? The power supply on this thing blew Saturday but has run OK until now.
May 22 00:51:01 picard kernel: kernel BUG at page_alloc.c:108! May 22 00:51:01 picard kernel: invalid operand: 0000 May 22 00:51:01 picard kernel: CPU: 1 May 22 00:51:01 picard kernel: EIP: 0010:[swap_duplicate+82/192] Not tainted May 22 00:51:01 picard kernel: EFLAGS: 00010286 May 22 00:51:01 picard kernel: eax: 01000009 ebx: c176aed0 ecx: c176aed0 edx: cfd67690 May 22 00:51:01 picard kernel: esi: 00000000 edi: cfd67690 ebp: 000000e3 esp: ce55fef8 May 22 00:51:01 picard kernel: ds: 0018 es: 0018 ss: 0018 May 22 00:51:01 picard kernel: Process afio (pid: 15467, stackpage=ce55f000) May 22 00:51:01 picard kernel: Stack: c176aed0 00001000 cfd67690 000000e3 00008000 f09fb2ac 00015f90 00000000 May 22 00:51:01 picard kernel: c176aed0 c176aed0 efd5ae28 cfd67690 000000e2 c0131858 c012a04d ce55ff8c May 22 00:51:01 picard kernel: c176aed0 00000000 00001000 00000000 dd3318a0 ffffffea 00008000 00001000 May 22 00:51:01 picard kernel: Call Trace: [<f09fb2ac>] [shmem_truncate+172/524] [generic_file_write+1781/1856] [mprotect_fixup+270/ 1176] [change_protection+268/348] May 22 00:51:01 picard kernel: [create_empty_buffers+75/80] [probe_irq_on+15/292] May 22 00:51:01 picard kernel: May 22 00:51:01 picard kernel: Code: 0f 0b 6c 00 93 b3 24 c0 89 d8 2b 05 f0 70 30 c0 69 c0 ab aa
Michael D. Black [email protected]
http://www.csihq.com/
http://www.csihq.com/~mike
321-676-2923, x203
Melbourne FL
Quoted 6 lines · Mike Black
This machine had been up for 2-1/2 days and had run this backup (afio) twice successfully.
Here's line 108 of
page_alloc.c:if (PageLRU(page)) BUG();
Quoted 6 lines
Hopefully this doesn't indicate a CPU problem? The power supply on this thing blew Saturday but has run OK until now.
May 22 00:51:01 picard kernel: kernel BUG at page_alloc.c:108! May 22 00:51:01 picard kernel: invalid operand: 0000 May 22 00:51:01 picard kernel: CPU: 1 May 22 00:51:01 picard kernel: EIP: 0010:[swap_duplicate+82/192] Not tainted
There were quite a number of reports of those PageLRU BUGs on 2.4.17. No idea what fixed them, but 2.4.18 (and 2.4.19-pre) has seemed free of them (Ben LaHaise made a plausible change, but closer analysis suggested it couldn't really be the fix). Suggest you upgrade.
Your oops report, by the way, must have been using the wrong System.map:
page_alloc.c:108 is in __free_pages_ok(), swap_duplicate() is over in swapfile.c. But no matter, page_alloc.c:108 identifies it well enough.
Hugh
Oops -- got the wrong version (head was in the wrong kernel space). This occurred on 2.4.19-pre8
----- Original Message -----
From: "Hugh Dickins" <[email protected]>
To: "Mike Black" <[email protected]>
Cc: "linux-kernel" <[email protected]>
Sent: Thursday, May 23, 2002 8:12 AM
Subject: Re: page_alloc bug in 2.4.17-pre8
Quoted 25 lines · Mike Black
Quoted 6 lines
This machine had been up for 2-1/2 days and had run this backup (afio) twice successfully.
Here's line 108 of
page_alloc.c:if (PageLRU(page)) BUG();Quoted 6 lines
Hopefully this doesn't indicate a CPU problem? The power supply on this thing blew Saturday but has run OK until now.
May 22 00:51:01 picard kernel: kernel BUG at page_alloc.c:108! May 22 00:51:01 picard kernel: invalid operand: 0000 May 22 00:51:01 picard kernel: CPU: 1 May 22 00:51:01 picard kernel: EIP: 0010:[swap_duplicate+82/192] Not taintedThere were quite a number of reports of those PageLRU BUGs on 2.4.17. No idea what fixed them, but 2.4.18 (and 2.4.19-pre) has seemed free of them (Ben LaHaise made a plausible change, but closer analysis suggested it couldn't really be the fix). Suggest you upgrade.
Your oops report, by the way, must have been using the wrong System.map:
page_alloc.c:108 is in__free_pages_ok(),swap_duplicate()is over inswapfile.c. But no matter, page_alloc.c:108 identifies it well enough.Hugh
Quoted 2 lines · Mike Black
Oops -- got the wrong version (head was in the wrong kernel space). This occurred on 2.4.19-pre8
Then page_alloc.c:108 is a different check from what you showed, it's
if (page->mapping) BUG();
I know nothing of that one, sorry.
Hugh