Re: Oops in 2.2.14pre17

Manfred Spraul (manfreds@colorfullife.com)
Mon, 03 Jan 2000 17:50:43 +0100


Jan Kasprzak wrote:
> Dec 31 02:15:50 arethusa kernel: EIP: 0010:[<c011a506>]
> >>EIP: c011a506 <remove_inode_page+4a/70>
> Dec 31 02:15:50 arethusa kernel: EFLAGS: 00010282
> Dec 31 02:15:50 arethusa kernel: eax: c022bd48 ebx: c022bc58 ecx: c422efc4 edx: c022bc58

your are in remove_page_from_inode_queue(), line 125:

> page->next->pref = page->pref

page is %edx=0xc022bc58.
page->pref is %eax=0xc022bd48.
page->next is %ecx=0xc422efc4.

It could be a memory error, but then at least 2 bits got corrupted:

0xC422efc4 <invalid>
0xC022fec0 <valid alternative: must be near 0xC022bd48, and the
difference must be a multiple of sizeof(struct page)==40>

> I think the probability of HW failure is low (the previous uptime was so high).
Damn ;)
But everything else is fairly unlikely:

* 0xC422efc4 is no valid pointer, nor a string.
* it was found in the memmap_t array, ie in memory that was never
available through kmalloc.

Perhaps 2.2.5 doesn't use these bits, or they are not critical?

--
	Manfred

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