kernel oops
Michal Frič
Michal.Fric na i.cz
Úterý Říjen 31 16:47:55 CET 2000
Zdravim
Kolega ma problem se serverem (Intel Pentium PRO 200MHz, 64MB RAM, 1 x
Ethernet AMD, 1 x TokenRing IBM 4/16, SCSI 2940) po reinstalaci (byl tam
stary Slackware) na RH 6.2 mu oopsuje kernel. Frekvence oopsu je
nepravidelna muze to byt nekolikrat za den, ale nekdy vydrzi bezet az
ctyri dny. Stejne tak situace kdy k oops dojde je ruzna napr. k
poslednimu oopsnuti doslo po spusteni vi.
Zkousel ruzne verze kernelu v ruznych konfiguracich (ted testuje
posledni 2.4.0) a pro jistotu vymenil pameti, bohuzel problem stale
trva.
Prikladam vypis oopsu po zpracovani ksymoops (podle README k teto
utilitce vytvoreny pres:
ksymoops -VMO -k /proc/ksyms -dd <oops.file >/tmp/ksymoops.log 2>&1)
Je to ponekud delsi omlouvam se dial-upistum.
Predem dekuji za veskere napady a namety.
Michal Fric
DEBUG (main): level 2
DEBUG (read_env): default KSYMOOPS_NM=/usr/bin/nm
DEBUG (read_env): default KSYMOOPS_FIND=/usr/bin/find
DEBUG (read_env): default KSYMOOPS_OBJDUMP=/usr/bin/objdump
DEBUG (re_compile): '^([0-9a-fA-F]{4,}) +([^ ]) +([^ ]+)$' 3 sub
expression(s)
DEBUG (re_compile): '^ *\[*<([0-9a-fA-F]{4,})>\]* *' 1 sub expression(s)
DEBUG (re_compile): '^ *<\[([0-9a-fA-F]{4,})\]> *' 1 sub expression(s)
DEBUG (re_compile): '^ *([0-9a-fA-F]{4,}) *' 1 sub expression(s)
DEBUG (read_ksyms): /proc/ksyms
DEBUG (re_compile): '^([0-9a-fA-F]{4,}) +([^ ]+)( +\[([^ ]+)\])?$' 4 sub
expression(s)
DEBUG (re_compile): '^(.*)_R(smp_)?[0-9a-fA-F]{8,}$' 2 sub expression(s)
DEBUG (re_compile):
'^(__insmod_.*)(_O(.*)_M([0-9a-fA-F]+)_V(-?[0-9]+)|_S(.*)_L([0-9]+))' 7
sub expression(s)
DEBUG (add_Version): ibmtr 131600 2.2.16
DEBUG (ss_sort_na): ibmtr
DEBUG (ss_compress): table ibmtr, before 22
DEBUG (ss_compress): table ibmtr, after 22
DEBUG (ss_compress): table ibmtr, before 22
DEBUG (ss_compress): table ibmtr, after 22
DEBUG (ss_sort_na): ksyms_base
DEBUG (ss_compress): table ksyms_base, before 733
DEBUG (ss_compress): table ksyms_base, after 733
DEBUG (ss_compress): table ksyms_base, before 733
DEBUG (ss_compress): table ksyms_base, after 733
DEBUG (read_ksyms): ibmtr used 22 out of 30 entries
DEBUG (read_ksyms): ksyms_base used 733 out of 751 entries
DEBUG (expand_objects): using /lib/modules/2.2.16/net/ibmtr.o for ibmtr
DEBUG (expand_objects): all ksyms modules map to specific object files
DEBUG (read_nm_symbols): command '/usr/bin/nm
/lib/modules/2.2.16/net/ibmtr.o'
DEBUG (read_nm_symbols): /lib/modules/2.2.16/net/ibmtr.o used 42 out of
50 entries
DEBUG (ss_sort_na): /lib/modules/2.2.16/net/ibmtr.o
DEBUG (ss_compress): table /lib/modules/2.2.16/net/ibmtr.o, before 42
DEBUG (ss_compress): table /lib/modules/2.2.16/net/ibmtr.o, after 42
DEBUG (ss_compress): table /lib/modules/2.2.16/net/ibmtr.o, before 42
DEBUG (ss_compress): table /lib/modules/2.2.16/net/ibmtr.o, after 42
DEBUG (read_lsmod): /proc/modules
DEBUG (re_compile): '^ *([^ ]+) *([^ ]+) *([^ ]+) *(.*)$' 4 sub
expression(s)
DEBUG (ss_sort_na): lsmod
DEBUG (ss_compress): table lsmod, before 1
DEBUG (ss_compress): table lsmod, after 1
DEBUG (ss_compress): table lsmod, before 1
DEBUG (ss_compress): table lsmod, after 1
DEBUG (read_lsmod): lsmod used 1 out of 10 entries
DEBUG (merge_maps):
DEBUG (ss_sort_na): Version_
DEBUG (ss_compress): table Version_, before 1
DEBUG (ss_compress): table Version_, after 1
DEBUG (ss_compress): table Version_, before 1
DEBUG (ss_compress): table Version_, after 1
DEBUG (compare_Version): Version 2.2.16
DEBUG (map_ksyms_to_modules): ksyms ibmtr matches to
/lib/modules/2.2.16/net/ibmtr.o based on modutils assist
DEBUG (adjust_object_offsets): ibmtr c481204c c48159ac c4814a80
DEBUG (compare_maps): ibmtr vs /lib/modules/2.2.16/net/ibmtr.o, ibmtr
takes precedence
DEBUG (append_map): ksyms_base to merged
DEBUG (append_map): /lib/modules/2.2.16/net/ibmtr.o to merged [ibmtr]
DEBUG (ss_sort_atn): merged
DEBUG (ss_compress): table merged, before 788
DEBUG (ss_compress): table merged, after 788
DEBUG (ss_sort_atn): merged
DEBUG (ss_compress): table merged, before 788
DEBUG (ss_compress): table merged, after 782
DEBUG (find_fullpath): /usr/bin/ksymoops
DEBUG (re_compile): '^( +|[^ ]{3} [ 0-9][0-9] [0-9]{2}:[0-9]{2}:[0-9]{2}
[^ ]+ kernel: +|<[0-9]+>)' 1 sub expression(s)
DEBUG (re_compile): '^((Stack: )|(Stack from )|([0-9a-fA-F]{4,})|(Call
Trace: )|(\[*<([0-9a-fA-F]{4,})>\]* *)|(Version_[0-9]+)|(Trace: )|(Call
backtrace:)|(bh:)|<\[([0-9a-fA-F]{4,})\]> *|Process .*stackpage=|Code *:
|Kernel panic|In swapper task|Corrupted stack page|invalid operand:
|Oops: |Cpu: +[0-9]|current->tss|\*pde +=|EIP: |EFLAGS: |eax: |esi: |ds:
|CR0: |wait_on_|irq: |pc[:=]|68060 access|Exception at |d[04]: |Frame
format=|wb [0-9] stat|push data: |baddr=|Arithmetic fault|Instruction
fault|Bad unaligned kernel|Forwarding unaligned exception|: unhandled
unaligned exception|pc *=|r[0-9]+ *=|gp *=|spinlock stuck|tsk->|PSR:
|[goli]0: |Instruction DUMP: |TSTATE: |[goli]4: |Caller\[|CPU\[|MSR:
|TASK = |last math |GPR[0-9]+: |\$[0-9 ]+:|epc |Status:|Cause
:|Backtrace:|Function entered at|\*pgd =|Internal error|pc :|sp
:|r[0-9][0-9 ]:|Flags:|Control:)' 12 sub expression(s)
DEBUG (re_compile): 'Unable to handle
kernel|Aiee|die_if_kernel|\([0-9]\): Oops |: memory violation|:
Exception at|: Arithmetic fault|: Instruction fault|: arithmetic trap|:
unaligned trap|\([0-9]+\): (Whee|Oops|Kernel|.*Penguin|BOGUS)|kernel pc
|trap at PC: |bad area pc |NIP: | ra *=' 1 sub expression(s)
DEBUG (re_compile): '^(i[04]: |Instruction DUMP: |Caller\[)' 1 sub
expression(s)
Unable to handle kernel paging request at virtual address 0d2b2b80
DEBUG (re_compile): '^PSR: [0-9a-fA-F]+ PC: ([0-9a-fA-F]{4,}) *' 1 sub
expression(s)
DEBUG (re_compile): '^TSTATE: [0-9a-fA-F]{16} TPC: ([0-9a-fA-F]{4,}) *'
1 sub expression(s)
DEBUG (re_compile): '(kernel pc |trap at PC: |bad area pc |NIP:
)([0-9a-fA-F]{4,}) *' 2 sub expression(s)
DEBUG (re_compile): '^epc *:+ *([0-9a-fA-F]{4,}) *' 1 sub expression(s)
DEBUG (re_compile): '^(EIP: +.*|PC *= *|pc *:
*)\[*<([0-9a-fA-F]{4,})>\]* *' 2 sub expression(s)
DEBUG (re_compile): '^spinlock stuck at ([0-9a-fA-F]{4,}) *.*owner.*at
([0-9a-fA-F]{4,}) *' 2 sub expression(s)
DEBUG (re_compile): 'ra *=+ *([0-9a-fA-F]{4,}) *' 1 sub expression(s)
DEBUG (re_compile): '^[io][04]: [0-9a-fA-F iosp:]+ ([io]7|ret_pc):
([0-9a-fA-F]{4,}) *' 2 sub expression(s)
DEBUG (re_compile): '^((Call Trace: )|(Trace:
)|(\[*<([0-9a-fA-F]{4,})>\]* *)|(Call backtrace:)|([0-9a-fA-F]{4,})
*|Function entered at (\[*<([0-9a-fA-F]{4,})>\]*
*)|Caller\[([0-9a-fA-F]{4,}) *\]|(<\[([0-9a-fA-F]{4,})\]> *))' 12 sub
expression(s)
DEBUG (re_compile): '^((Instruction DUMP)|(Code *)): +((general
protection.*)|(<[0-9]+>)|(([<(]?[0-9a-fA-F]+[>)]?
+)+[<(]?[0-9a-fA-F]+[>)]?))(.*)$' 9 sub expression(s)
current->tss.cr3 = 02e07000, %cr3 = 02e07000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c012d71d>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010206
eax: c3ff6c00 ebx: 00000000 ecx: c2cc2000 edx: 0d2b2b74
esi: 00000001 edi: 00000000 ebp: 00000000 esp: c2cc3f40
ds: 0018 es: 0018 ss: 0018
Process vi (pid: 686, process nr: 38, stackpage=c2cc3000)
Stack: c0fb11f8 00000020 00000145 00000000 c2cc2000 7fffffff 00000000
c3725000
c012dc0a 00000001 c2cc3fa8 c2cc3fa4 c2cc2000 bffff6fc 00000000
bffff7fc
c0fb11ec c301d7ac 00000004 00000001 00000001 c2cc3fa8 00000001
c2cc2000
Call Trace: [<c012dc0a>] [<c0108fc0>]
Code: 8b 42 0c 85 c0 74 16 8b 40 10 85 c0 74 0f 8b 4c 24 20 51 52
DEBUG (Oops_decode):
DEBUG (re_compile): '^([<(]?)([0-9a-fA-F]+)[)>]? *' 2 sub expression(s)
DEBUG (Oops_objdump): command '/usr/bin/objdump -dhf /tmp/fileFOXC1D'
DEBUG (Oops_decode):
DEBUG (re_compile): '^ *([0-9a-fA-F]+)( <_XXX[^>]*>)?:(.*
+<_XXX\+0?x?([0-9a-fA-F]+)> *$)?.*' 4 sub expression(s)
DEBUG (Oops_decode): /tmp/fileFOXC1D: file format elf32-i386
DEBUG (Oops_decode): architecture: i386, flags 0x00000010:
DEBUG (Oops_decode): HAS_SYMS
DEBUG (Oops_decode): start address 0x00000000
DEBUG (Oops_decode):
DEBUG (Oops_decode): Sections:
DEBUG (Oops_decode): Idx Name Size VMA LMA
File off Algn
DEBUG (Oops_decode): 0 .text 00000040 00000000 00000000
00000040 2**4
DEBUG (Oops_decode): CONTENTS, ALLOC, LOAD, READONLY,
CODE
DEBUG (Oops_decode): Disassembly of section .text:
DEBUG (Oops_decode):
DEBUG (Oops_decode): 00000000 <_XXX>:
DEBUG (Oops_decode): 0: 8b 42 0c mov
0xc(%edx),%eax
DEBUG (Oops_decode): 3: 85 c0 test %eax,%eax
DEBUG (Oops_decode): 5: 74 16 je 1d
<_XXX+0x1d>
DEBUG (Oops_decode): 7: 8b 40 10 mov
0x10(%eax),%eax
DEBUG (Oops_decode): a: 85 c0 test %eax,%eax
DEBUG (Oops_decode): c: 74 0f je 1d
<_XXX+0x1d>
DEBUG (Oops_decode): e: 8b 4c 24 20 mov
0x20(%esp,1),%ecx
DEBUG (Oops_decode): 12: 51 push %ecx
DEBUG (Oops_decode): 13: 52 push %edx
DEBUG (Oops_decode): ...
DEBUG (Oops_format):
>>EIP; c012d71d <__pollwait+229/d90> <=====
Trace; c012dc0a <__pollwait+716/d90>
Trace; c0108fc0 <dump_thread+128c/2338>
Code; c012d71d <__pollwait+229/d90>
00000000 <_EIP>:
Code; c012d71d <__pollwait+229/d90> <=====
0: 8b 42 0c mov 0xc(%edx),%eax <=====
Code; c012d720 <__pollwait+22c/d90>
3: 85 c0 test %eax,%eax
Code; c012d722 <__pollwait+22e/d90>
5: 74 16 je 1d <_EIP+0x1d> c012d73a
<__pollwait+246/d90>
Code; c012d724 <__pollwait+230/d90>
7: 8b 40 10 mov 0x10(%eax),%eax
Code; c012d727 <__pollwait+233/d90>
a: 85 c0 test %eax,%eax
Code; c012d729 <__pollwait+235/d90>
c: 74 0f je 1d <_EIP+0x1d> c012d73a
<__pollwait+246/d90>
Code; c012d72b <__pollwait+237/d90>
e: 8b 4c 24 20 mov 0x20(%esp,1),%ecx
Code; c012d72f <__pollwait+23b/d90>
12: 51 push %ecx
Code; c012d730 <__pollwait+23c/d90>
13: 52 push %edx
Unable to handle kernel paging request at virtual address 0d2b2b7c
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c012419f>]
EFLAGS: 00010206
eax: c3ff6c00 ebx: 0d2b2b74 ecx: 00000000 edx: 0d2b2b74
esi: 00000000 edi: c21d9820 ebp: 00000001 esp: c2cc3e8c
ds: 0018 es: 0018 ss: 0018
Process vi (pid: 686, process nr: 38, stackpage=c2cc3000)
Stack: c21d9820 c01167d9 0d2b2b74 c21d9820 c2cc3f04 c2cc2000 0d2b2b80
40000000
00000000 c2cc2000 c01094d8 0000000b c2cc3f04 c01d20c7 c01d386e
00000000
00000000 c010e4e4 c01d386e c2cc3f04 00000000 c2cc2000 00000001
00000000
Call Trace: [<c01167d9>] [<c01094d8>] [<c01d20c7>] [<c01d386e>]
[<c010e4e4>] [<c01d386e>] [<c01090d1>]
[<c012d71d>] [<c012dc0a>] [<c0108fc0>]
Code: 8b 7b 08 83 7b 1c 00 75 10 68 02 61 1d c0 e8 fe ed fe ff 31
DEBUG (Oops_decode):
DEBUG (Oops_objdump): command '/usr/bin/objdump -dhf /tmp/files0hARj'
DEBUG (Oops_decode):
DEBUG (Oops_decode): /tmp/files0hARj: file format elf32-i386
DEBUG (Oops_decode): architecture: i386, flags 0x00000010:
DEBUG (Oops_decode): HAS_SYMS
DEBUG (Oops_decode): start address 0x00000000
DEBUG (Oops_decode):
DEBUG (Oops_decode): Sections:
DEBUG (Oops_decode): Idx Name Size VMA LMA
File off Algn
DEBUG (Oops_decode): 0 .text 00000040 00000000 00000000
00000040 2**4
DEBUG (Oops_decode): CONTENTS, ALLOC, LOAD, READONLY,
CODE
DEBUG (Oops_decode): Disassembly of section .text:
DEBUG (Oops_decode):
DEBUG (Oops_decode): 00000000 <_XXX>:
DEBUG (Oops_decode): 0: 8b 7b 08 mov
0x8(%ebx),%edi
DEBUG (Oops_decode): 3: 83 7b 1c 00 cmpl
$0x0,0x1c(%ebx)
DEBUG (Oops_decode): 7: 75 10 jne 19
<_XXX+0x19>
DEBUG (Oops_decode): 9: 68 02 61 1d c0 push
$0xc01d6102
DEBUG (Oops_decode): e: e8 fe ed fe ff call fffeee11
<_XXX+0xfffeee11>
DEBUG (Oops_decode): 13: 31 00 xor
%eax,(%eax)
DEBUG (Oops_decode): ...
DEBUG (Oops_format):
>>EIP; c012419f <filp_close+7/5c> <=====
Trace; c01167d9 <exit_mm+35d/c68>
Trace; c01094d8 <dump_thread+17a4/2338>
Trace; c01d20c7 <sprintf+27f3/1738c>
Trace; c01d386e <sprintf+3f9a/1738c>
Trace; c010e4e4 <__verify_write+428/764>
Trace; c01d386e <sprintf+3f9a/1738c>
Trace; c01090d1 <dump_thread+139d/2338>
Trace; c012d71d <__pollwait+229/d90>
Trace; c012dc0a <__pollwait+716/d90>
Trace; c0108fc0 <dump_thread+128c/2338>
Code; c012419f <filp_close+7/5c>
00000000 <_EIP>:
Code; c012419f <filp_close+7/5c> <=====
0: 8b 7b 08 mov 0x8(%ebx),%edi <=====
Code; c01241a2 <filp_close+a/5c>
3: 83 7b 1c 00 cmpl $0x0,0x1c(%ebx)
Code; c01241a6 <filp_close+e/5c>
7: 75 10 jne 19 <_EIP+0x19> c01241b8
<filp_close+20/5c>
Code; c01241a8 <filp_close+10/5c>
9: 68 02 61 1d c0 push $0xc01d6102
Code; c01241ad <filp_close+15/5c>
e: e8 fe ed fe ff call fffeee11 <_EIP+0xfffeee11>
c0112fb0 <printk+0/16c>
Code; c01241b2 <filp_close+1a/5c>
13: 31 00 xor %eax,(%eax)
Další informace o konferenci Linux