vesafb/vgafb oops, 2.1.107

Keith Owens (kaos@ocs.com.au)
Sun, 28 Jun 1998 07:15:07 +1000


Have not seen any oops for this problem yet so here are some data
points. Stock 2.1.107, SMP, S3 video card (claims to be VESA 2.0
compliant), kernel compiled with serial console, gcc 2.7.2.3.
lilo.conf contains

append="console=tty0 console=ttyS1,115200"

which works on 2.1.107 without any frame buffers.

VESAFB, no VGAFB.

No screen movement after "uncompressing linux", which is not surprising
because the serial console says

Warning: unable to open an initial console.

This is not the "black on black" problem, the tty console is not
getting registered. It then gets as far as opening the root file
system for write and dies.

page fault from irq handler: 0000
CPU: 1
EIP: 0010:[<c019f872>]
EFLAGS: 00010296
eax: 00000000 ebx: 000000fa ecx: 1236346b edx: 00000000
esi: 00000001 edi: 00000001 ebp: c0099fb0 esp: c0099f28
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, process nr: 1, stackpage=c0099000)
Stack: 000000fa 000000fa 00000001 00000001 c0099fb0 c02f8080 00000002 c01ba7fa
0000000b c01a083d 000000fa c009d1e0 c010b9c9 00000001 00000000 c0099fb0
c01e5fc8 00000020 00000001 00000001 c0110c3b 00000001 c0099fb0 c0099fb0
Call Trace: [<c01ba7fa>] [<c01a083d>] [<c010b9c9>] [<c0110c3b>] [<c0107f78>] [<c010bc94>] [<c0109f24>]
[<c0107f78>] [<c010826c>]
Code: 8b 14 82 89 15 f4 1c 1f c0 8d 04 85 00 6f 22 c0 a3 f0 1c 1f
Aiee, killing interrupt handler
Scheduling in interrupt

>>EIP: c019f872 <handle_scancode+3a/2bc>
Trace: c01ba7fa <do_ncr53c8xx_intr+32/38>
Trace: c01a083d <keyboard_interrupt+39/54>
Trace: c010b9c9 <handle_IRQ_event+35/58>
Trace: c0110c3b <do_edge_ioapic_IRQ+93/100>
Trace: c0107f78 <this_must_match_init_task+1f78/2000>
Trace: c010bc94 <do_IRQ+38/58>
Trace: c0109f24 <ret_from_intr>
Trace: c0107f78 <this_must_match_init_task+1f78/2000>
Trace: c010826c <cpu_idle+40/124>
Code: c019f872 <handle_scancode+3a/2bc>
Code: c019f872 <handle_scancode+3a/2bc> 8b 14 82 movl (%edx,%eax,4),%edx
Code: c019f875 <handle_scancode+3d/2bc> 89 15 f4 1c 1f movl %edx,0xc01f1cf4
Code: c019f87b <handle_scancode+43/2bc> 8d 04 85 00 6f leal 0xc0226f00(,%eax,4),%eax
Code: c019f882 <handle_scancode+4a/2bc> a3 f0 1c 1f 00 movl %eax,0x1f1cf0
Code: c019f887 <handle_scancode+4f/2bc> 90 nop
Code: c019f888 <handle_scancode+50/2bc> 90 nop
Code: c019f889 <handle_scancode+51/2bc> 90 nop

page fault from irq handler: 0002
CPU: 1
EIP: 0010:[<c0113eaa>]
EFLAGS: 00010286
eax: 00000018 ebx: c0098000 ecx: 000002fd edx: 00000000
esi: 80c5d0c5 edi: c009a020 ebp: c0099e98 esp: c0099e60
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, process nr: 1, stackpage=c0099000)
Stack: c01c6b70 c0098000 80c5d0c5 c009a020 00000202 c009d060 00000001 c0098000
80c5d0c5 c009a020 c011a707 c0098000 00000000 c0098000 00000021 c011aa7e
c0099ef4 00000000 c0099ef4 c0099fb0 c010a36f 0000000b c0098000 c011194d
Call Trace: [<c01c6b70>] [<c011a707>] [<c011aa7e>] [<c010a36f>] [<c011194d>] [<c01c69e5>] [<c01b7ba6>]
[<c0109f9c>] [<c019f872>] [<c01ba7fa>] [<c01a083d>] [<c010b9c9>] [<c0110c3b>] [<c0107f78>] [<c010bc94>]
[<c0109f24>] [<c0107f78>] [<c010826c>]
Code: c7 05 00 00 00 00 00 00 00 00 8d 65 cc 5b 5e 5f 89 ec 5d c3
Aiee, killing interrupt handler
Scheduling in interrupt

>>EIP: c0113eaa <schedule+342/358>
Trace: c01c6b70 <tvecs+14/47e3>
Trace: c011a707 <exit_notify+11b/274>
Trace: c011aa7e <do_exit+21e/224>
Trace: c010a36f <die_if_kernel+5f/64>
Trace: c011194d <do_page_fault+35/378>
Trace: c01c69e5 <lk_lockmsg+87b/9f2>
Trace: c01b7ba6 <ncr_complete+5ba/5c8>
Trace: c0109f9c <error_code+30/38>
Trace: c019f872 <handle_scancode+3a/2bc>
Trace: c01ba7fa <do_ncr53c8xx_intr+32/38>
Trace: c01a083d <keyboard_interrupt+39/54>
Trace: c010b9c9 <handle_IRQ_event+35/58>
Trace: c0110c3b <do_edge_ioapic_IRQ+93/100>
Trace: c0107f78 <this_must_match_init_task+1f78/2000>
Trace: c010bc94 <do_IRQ+38/58>
Trace: c0109f24 <ret_from_intr>
Trace: c0107f78 <this_must_match_init_task+1f78/2000>
Trace: c010826c <cpu_idle+40/124>
Code: c0113eaa <schedule+342/358>
Code: c0113eaa <schedule+342/358> c7 05 00 00 00 movl $0x0,0x0
Code: c0113eaf <schedule+347/358> 00 00 00 00 00
Code: c0113eb4 <schedule+34c/358> 8d 65 cc leal 0xffffffcc(%ebp),%esp
Code: c0113eb7 <schedule+34f/358> 5b popl %ebx
Code: c0113eb8 <schedule+350/358> 5e popl %esi
Code: c0113eb9 <schedule+351/358> 5f popl %edi
Code: c0113eba <schedule+352/358> 89 ec movl %ebp,%esp
Code: c0113ebc <schedule+354/358> 5d popl %ebp
Code: c0113ebd <schedule+355/358> c3 ret

Wonderful things, serial consoles :). The oops then goes recursive,
eventually blows the stack and the machine stops dead.

Another data point, something in this code is screwing with the
keyboard. Press reset after this oops and the escape key does not stop
the memory scan. Power cycle instead of reset and escape works.

VGAFB, no VESAFB.

After "uncompressing kernel", screen tries to roll up and displays
"black on black". This time it registers the tty console. Serial
console says

kmem_alloc: NULL ptr (name=unknown)
fb0: VGA frame buffer device, using 32K of video memory
kmem_alloc: NULL ptr (name=unknown)
Console: colour frame buffer device 80x25
Calibrating delay loop... 66.36 BogoMIPS

Somewhere after registering SCSI drivers...

Unable to handle kernel paging request at virtual address 07360731
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0147bea>]
EFLAGS: 00010202
eax: 00000000 ebx: 07360731 ecx: 00000003 edx: 07360731
esi: c01caa78 edi: c01caa74 ebp: c000bf6c esp: c000bf14
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, process nr: 2, stackpage=c000b000)
Stack: c01caa78 c01caa74 c0147edc 00000003 c01caa74 07360731 00000000 c01f2bb0
c0106000 00000e00 00000003 c0147f4e c01caa74 c000bf7c c000bf6c 00000000
c01f2bb0 c0106000 00000e00 00000e00 c02006b4 00000000 c01caa74 c01fc8c4
Call Trace: [<c01caa78>] [<c01caa74>] [<c0147edc>] [<c01caa74>] [<c0106000>] [<c0147f4e>] [<c01caa74>]
[<c0106000>] [<c01caa74>] [<c01caa74>] [<c0106000>] [<c013614c>] [<c0109e64>] [<c012528c>] [<c0106000>]
[<c01080bb>] [<c0107fe4>] [<c0106000>] [<c010806c>]
Code: 66 83 3a 00 75 08 31 c0 5e 5f c3 8d 76 00 0f b7 42 02 39 c8

>>EIP: c0147bea <proc_match+e/44>
Trace: c01caa78 <skb_put_errstr+53d/779>
Trace: c01caa74 <skb_put_errstr+539/779>
Trace: c0147edc <xlate_proc_name+4c/8c>
Trace: c01caa74 <skb_put_errstr+539/779>
Trace: c0106000 <init_task_union>
Trace: c0147f4e <create_proc_entry+32/10c>
Trace: c01caa74 <skb_put_errstr+539/779>
Trace: c0106000 <init_task_union>
Trace: c01caa74 <skb_put_errstr+539/779>
Trace: c01caa74 <skb_put_errstr+539/779>
Trace: c0106000 <init_task_union>
Trace: c013614c <sys_setup+ac/d8>
Trace: c0109e64 <system_call+38/3c>
Trace: c012528c <kswapd>
Trace: c0106000 <init_task_union>
Trace: c01080bb <init+4f/1b0>
Trace: c0107fe4 <this_must_match_init_task+1fe4/2000>
Trace: c0106000 <init_task_union>
Trace: c01080bb <init+4f/1b0>
Code: c0147bea <proc_match+e/44>
Code: c0147bea <proc_match+e/44> 66 83 3a 00 cmpw $0x0,(%edx)
Code: c0147bee <proc_match+12/44> 75 08 jne c0147bf8 <proc_match+1c/44>
Code: c0147bf0 <proc_match+14/44> 31 c0 xorl %eax,%eax
Code: c0147bf2 <proc_match+16/44> 5e popl %esi
Code: c0147bf3 <proc_match+17/44> 5f popl %edi
Code: c0147bf4 <proc_match+18/44> c3 ret
Code: c0147bf5 <proc_match+19/44> 8d 76 00 leal 0x0(%esi),%esi
Code: c0147bf8 <proc_match+1c/44> 0f b7 42 02 movzwl 0x2(%edx),%eax
Code: c0147bfc <proc_match+20/44> 39 c8 cmpl %ecx,%eax

Escape key seems to be OK after reset for VGAFB.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu