Oops on boot with kernel 2.2.0-pre2

Andreas Schmidt (Andr.Schmidt@wolfsburg.de)
Fri, 01 Jan 1999 13:19:28 +0100


Hi kernel-hackers,

i got the following oops on boot with kernel 2.2.0-pre2:
---START---
Configuring GDT-EISA HA at Slot 3 IRQ 14
Unable to handle kernel NULL pointer derefernce at virtual address 000000f8
current->tss.cr3 = 00101000 %cr3 = 00101000
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<c01aba4f>]
EFLAGS: 00010216
eax: c009007c ebx: 00000000 ecx: 0000fffd edx: 00000010
esi: c00902a4 edi: 00000000 ebp: 00000000 esp: c0007e24
ds: 0018 es: 0018 ss:0018
Process swapper (pid: 1, process nr: 2, stackpage = c0007000)
Stack: 00000000 00000000 c0090000 c010c56d c009007c c01d9984 20000001 00000282
c0109419 000186a0 c01ab81b 00000000 00000010 0000007f 00000000 000186a0
00000002 00000000 c009007c 00001f40 0000007f c0000010 c009007c 7f09007c
Call Trace: [<c010c56d>] [<c0109419>] [<c01ab81b>] [<c01096ab>] [<c0107bf0>]
[<c01a9c0a>] [<c01a9dc1>]
[<c01a9e49>] [<c01ac18d>] [<c01ab3d0>] [<c01c9303>] [<c01ac26c>] [<c01093a1>]
[<c017a99e>] [<c017c794>]
[<c01093a1>] [<c017ea54>] [<c0106000>] [<c0106000>] [<c0106000>] [<c0122470>]
[<c012938c>] [<c010609d>]
[<c01064a7>]
Code: 89 8b f8 00 00 00 8b 44 24 10 66 8b b0 9e 00 00 00 66 83 fe
---END---

system info:
- SuSE-Linux 5.3 (gcc 2.7.2.3)
- kernel 2.2.0-pre2 compiled with smp-support
- 2 x Pentium 200 processor (no MMX)
- Motherboard AMI-TITAN III (EISA/PCI), 160MB RAM
- SCSI-Controller (SCSI-2): ICP-Vortex GDT-3000B, EISA-card, 16MB cache-RAM

config-file (.config):
---START---
CONFIG_M586=y
CONFIG_SMP=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI_OLD_PROC=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PARPORT=y
CONFIG_BLK_DEV_FD=y
CONFIG_PARIDE_PARPORT=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_GDTH=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UNIX98_PTYS=y
CONFIG_RTC=y
CONFIG_AUTOFS_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_VGA_CONSOLE=y
---END---

The output from 'ksymoops':
---START---
Using `System.map' to map addresses to symbols.

>>EIP: c01aba4f <gdth_sync_event+21f/378>
Trace: c010c56d <timer_interrupt+89/114>
Trace: c0109419 <handle_IRQ_event+55/8c>
Trace: c01ab81b <gdth_interrupt+413/428>
Trace: c01096ab <do_IRQ+4b/4c>
Trace: c0107bf0 <ret_from_intr>
Trace: c01a9c0a <gdth_wait+5a/ac>
Trace: c01a9dc1 <gdth_internal_cmd+165/1c4>
Trace: c01a9e49 <gdth_search_drives+29/4c4>
Trace: c01ac18d <gdth_detect+375/734>
Trace: c01ab3d0 <do_gdth_interrupt>
Trace: c01c9303 <RCSid+cc1/5611>
Trace: c01ac26c <gdth_detect+454/734>
Trace: c01093a1 <__global_restore_flags+25/48>
Trace: c017a99e <wait_til_done+a6/e8>
Trace: c017c794 <process_fd_request+14/18>
Trace: c01093a1 <__global_restore_flags+25/48>
Trace: c017ea54 <floppy_release_irq_and_dma+1c/1ac>
Trace: c0106000 <get_options>
Trace: c0106000 <get_options>
Trace: c0106000 <get_options>
Trace: c0122470 <kswapd>
Trace: c012938c <bdflush>
Trace: c010609d <init+29/17c>
Trace: c01064a7 <kernel_thread+23/30>
Code: c01aba4f <gdth_sync_event+21f/378>
Code: c01aba4f <gdth_sync_event+21f/378> 89 8b f8 00 00 movl %ecx,0xf8(%ebx)
Code: c01aba55 <gdth_sync_event+225/378> 8b 44 24 10 movl 0x10(%esp,1),%eax
Code: c01aba59 <gdth_sync_event+229/378> 66 8b b0 9e 00 movw 0x9e(%eax),%si
Code: c01aba60 <gdth_sync_event+230/378> 66 83 fe 00 cmpw $0x0,%si
Code: c01aba64 <gdth_sync_event+234/378> 90 nop
Code: c01aba65 <gdth_sync_event+235/378> 90 nop
Code: c01aba66 <gdth_sync_event+236/378> 90 nop

---END---

The output from 'gdb <kernel-image>' (gdb) x/10i <saved-eip>:
---START---
andreas@linux:/home/andreas/src/linux-2.2.0-pre2 > gdb vmlinux
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16.patched (i486-unknown-linux --target i486-linux),
Copyright 1996 Free Software Foundation, Inc...(no debugging symbols
found)...
(gdb) x/10i 0xc01aba4f
0xc01aba4f <gdth_sync_event+543>: movl %ecx,0xf8(%ebx)
0xc01aba55 <gdth_sync_event+549>: movl 0x10(%esp,1),%eax
0xc01aba59 <gdth_sync_event+553>: movw 0x9e(%eax),%si
0xc01aba60 <gdth_sync_event+560>: cmpw $0x1,%si
0xc01aba64 <gdth_sync_event+564>: jne 0xc01aba78 <gdth_sync_event+584>
0xc01aba66 <gdth_sync_event+566>: movl $0x0,0x10c(%ebx)
0xc01aba70 <gdth_sync_event+576>: jmp 0xc01abb7c <gdth_sync_event+844>
0xc01aba75 <gdth_sync_event+581>: leal 0x0(%esi),%esi
0xc01aba78 <gdth_sync_event+584>: cmpw $0x7,%si
0xc01aba7c <gdth_sync_event+588>: jne 0xc01aba98 <gdth_sync_event+616>
(gdb)
---END---

Some notes:
I'm not a kernel hacker.
Kernel 2.0.x works well.
I have only tried kernel 2.2.0-pre1,2.
After the oops occures, it was not possible to reboot the computer
by CTRL-ALT-DEL. (kernel 2.2.0-pre1)
Booting kernel 2.2.0-pre2 crashes also (the output above show it),
but CTRL-ALT-DEL works.
I'm not sure, but i think the problem is in
file linux/drivers/scsi/gdth.c , function <gdth_sync_event>.

Further more, i hope this bug-report is quite completely and not
too much off-topic, even if the oops occures only at my system.

Andreas
<Andr.Schmidt@wolfsburg.de>

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