lkml.org 
[lkml]   [1998]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectdevfs oops
Another oops to keep you guys busy :)

Kernel 2.1.123+devfs v62. Any attempt to access /proc/partitions gives
me:

Unable to handle kernel paging request at virtual address 74316230
current->tss.cr3 = 00f80000, ^Lr3 = 00f80000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<74316230>]
EFLAGS: 00010292
eax: 00000108 ebx: 00000000 ecx: 00000006 edx: c01d4a5f
esi: c0f83f90 edi: c1f4896c ebp: 00000400 esp: c0f83f4c
ds: 0018 es: 0018 ss: 0018
Process cat (pid: 344, process nr: 31, stackpage=c0f83000)
Stack: c1124b54 c01471be c0f42000 00000013 c0f83f90 00000000 00000400
c1124b40
ffffffea 0804dc88 00000400 00000000 bffffa98 0804c93f c010cd3b
c0f82000
c0f42000 00000000 c0120856 c1124b40 0804dc88 00000400 c1124b54
c0f82000
Call Trace: [<c01471be>] [<c010cd3b>] [<c0120856>] [<c0107a64>]
Code: <1>Unable to handle kernel paging request at virtual address
74316230
current->tss.cr3 = 00f80000, ^Lr3 = 00f80000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0107ef7>]
EFLAGS: 00010096
eax: 74316230 ebx: 00000000 ecx: c1e08000 edx: c01e61d0
esi: 0000002b edi: c0f84000 ebp: c0f83f10 esp: c0f83ea8
ds: 0018 es: 0018 ss: 0018
Process cat (pid: 344, process nr: 31, stackpage=c0f83000)
Stack: c0f83f10 c0f82000 c2800000 c3000000 c2800000 c0107f54 c0f83f10
c01c97cc
c01ca4f5 00000000 00000000 c010cf06 c01ca4f5 c0f83f10 00000000
c0f82000
c0f83f90 c1f4896c 00000400 c1213ce0 4bce7000 c01fee60 c0f82000
c0107b9d Call Trace: [<c2800000>] [<c3000000>] [<c2800000>] [<c0107f54>]
[<c01c97cc>] [<
[<c01ca4f5>] [<c0107b9d>] [<c01d4a5f>] [<c01471be>] [<c010cd3b>]
[<c0120

Code: 0f b6 04 03 50 68 c4 97 1c c0 e8 42 94 00 00 83 c4 08 43 83

It looks like the kernel oopsed while printing the code - the EIP was
probably
invalid. Anyway, the first oopses call trace is as follows:

EIP: Invalid (?)
Call Trace:
[<c01471be>] array_read
[<c010cd3b>] do_page_fault
[<c0120856>] sys_read
[<c0107a64>] system_call

The offending instructions are (according to gdb disassembly):
0xc014719f <array_read+159>: movl 0x2c(%esp,1),%esi
0xc01471a3 <array_read+163>: pushl %esi
0xc01471a4 <array_read+164>: call 0xc0147078 <get_process_array>
0xc01471a9 <array_read+169>: movl %eax,%edi
0xc01471ab <array_read+171>: addl $0xc,%esp
0xc01471ae <array_read+174>: jmp 0xc01471c3 <array_read+195>
0xc01471b0 <array_read+176>: pushl %ebp
0xc01471b1 <array_read+177>: pushl %ecx
0xc01471b2 <array_read+178>: pushl %eax
0xc01471b3 <array_read+179>: pushl %edx
0xc01471b4 <array_read+180>: movl 0x34(%esp,1),%ebx
0xc01471b8 <array_read+184>: pushl %ebx
0xc01471b9 <array_read+185>: call 0xc0146ee4 <get_root_array>
0xc01471be <array_read+190>: movl %eax,%edi <------------ BOOOOM
the oops occured here
0xc01471c0 <array_read+192>: addl $0x14,%esp
0xc01471c3 <array_read+195>: testl %edi,%edi
0xc01471c5 <array_read+197>: jnl 0xc01471dc <array_read+220>
0xc01471c7 <array_read+199>: xorl %edx,%edx
0xc01471c9 <array_read+201>: movl 0x24(%esp,1),%eax
0xc01471cd <array_read+205>: call 0xc011d8d0 <free_pages>
0xc01471d2 <array_read+210>: movl %edi,%eax
0xc01471d4 <array_read+212>: popl %ebx
0xc01471d5 <array_read+213>: popl %esi
0xc01471d6 <array_read+214>: popl %edi
0xc01471d7 <array_read+215>: popl %ebp
0xc01471d8 <array_read+216>: addl $0x1c,%esp

Maybe array_read uses a structure member as a function, and that member
happened to be corrupt? BTW, this doesn't occur without devfs. Devfs has
rather long device names - maybe an overflow?

Slava

PS: The other day, I exited from X (with window maker's exit session
command) and
my computer instantly rebooted. Nothing in the logs. I remember someone
else on the
list had the same problem. X bug, kernel bug, or am I doing something
wrong?

PPS: What is the edi register for?
--
Slava Pestov (mailto:slava_pestov@geocities.com)
http://www.geocities.com/SiliconValley/Heights/7925
Linux 2.0.35 on an i586MMX (400.59 BogoMips)

-
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/

\
 
 \ /
  Last update: 2005-03-22 13:44    [W:0.060 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site