Reproducible Oops's at startup

Daniel J Rabinowitz (djr@physics.rutgers.edu)
Sun, 23 Jun 96 0:09:57 EDT


I have found a reproducible bug.
When I boot with a 2.0.0 kernel I get a few (eight) Oops's during startup.

I'm running Debian 1.1 on a Cyrix 6x86 150+ (120 mhz) and a
Tyan Titan III motherboard w/ 32 Megs RAM.
I'm using IDE, not SCSI.
I do NOT get these Oops's when I use a 1.99.7 kernel.
I've compiled a few different 2.0.0 kernels, but even the
"standard" one (using the defaults of a clean "make config") gives these
Oops's.

I tried to track these bugs down myself, but I'm no kernel hacker.

Here's the info:
> tail -170 /var/adm/messages > tm
Jun 22 21:48:42 Rabinowitz syslogd: exiting on signal 15
Jun 22 21:49:36 Rabinowitz syslogd 1.3-0#6: restart.
Jun 22 21:49:37 Rabinowitz kernel: klogd 1.3-0, log source = /proc/kmsg started.
Jun 22 21:49:37 Rabinowitz syslogd 1.3-0#6: restart.
Jun 22 21:49:37 Rabinowitz kernel: Cannot find map file.
Jun 22 21:49:37 Rabinowitz kernel: Console: 16 point font, 400 scans
Jun 22 21:49:37 Rabinowitz kernel: Console: colour VGA+ 80x25, 1 virtual console (max 63)
Jun 22 21:49:37 Rabinowitz kernel: pcibios_init : BIOS32 Service Directory structure at 0x000fac90
Jun 22 21:49:37 Rabinowitz kernel: pcibios_init : BIOS32 Service Directory entry at 0xfb150
Jun 22 21:49:37 Rabinowitz kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfb180
Jun 22 21:49:37 Rabinowitz kernel: Probing PCI hardware.
Jun 22 21:49:37 Rabinowitz kernel: Calibrating delay loop.. ok - 119.60 BogoMIPS
Jun 22 21:49:37 Rabinowitz kernel: Memory: 31064k/32768k available (592k kernel code, 384k reserved, 728k data)
Jun 22 21:49:37 Rabinowitz kernel: This processor honours the WP bit even when in supervisor mode. Good.
Jun 22 21:49:37 Rabinowitz kernel: Swansea University Computer Society NET3.035 for Linux 2.0
Jun 22 21:49:37 Rabinowitz kernel: NET3: Unix domain sockets 0.12 for Linux NET3.035.
Jun 22 21:49:37 Rabinowitz kernel: Swansea University Computer Society TCP/IP for NET3.034
Jun 22 21:49:37 Rabinowitz kernel: IP Protocols: ICMP, UDP, TCP
Jun 22 21:49:37 Rabinowitz kernel: Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Jun 22 21:49:37 Rabinowitz kernel: Checking 'hlt' instruction... Ok.
Jun 22 21:49:37 Rabinowitz kernel: Linux version 2.0.0 (root@Rabinowitz) (gcc version 2.7.2) #2 Sat Jun 22 21:21:20 EDT 1996
Jun 22 21:49:37 Rabinowitz kernel: Serial driver version 4.13 with no serial options enabled
Jun 22 21:49:37 Rabinowitz kernel: tty00 at 0x03f8 (irq = 4) is a 16550A
Jun 22 21:49:37 Rabinowitz kernel: tty01 at 0x02f8 (irq = 3) is a 16550A
Jun 22 21:49:37 Rabinowitz kernel: hda: WDC AC31000H, 1033MB w/128kB Cache, LBA, CHS=2100/16/63
Jun 22 21:49:37 Rabinowitz kernel: hdb: WDC AC32500H, 2441MB w/128kB Cache, LBA, CHS=5290/15/63
Jun 22 21:49:37 Rabinowitz kernel: hdd: 685A, ATAPI CDROM drive
Jun 22 21:49:37 Rabinowitz kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Jun 22 21:49:37 Rabinowitz kernel: ide1 at 0x170-0x177,0x376 on irq 15
Jun 22 21:49:37 Rabinowitz kernel: Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
Jun 22 21:49:37 Rabinowitz kernel: Started kswapd v 1.4.2.2
Jun 22 21:49:37 Rabinowitz kernel: FDC 0 is a post-1991 82077
Jun 22 21:49:37 Rabinowitz kernel: Partition check:
Jun 22 21:49:37 Rabinowitz kernel: hda: hda1 hda2 hda3 hda4
Jun 22 21:49:37 Rabinowitz kernel: hdb: hdb1 hdb2 hdb3 hdb4 < hdb5 hdb6 >
Jun 22 21:49:37 Rabinowitz kernel: VFS: Mounted root (ext2 filesystem) readonly.
Jun 22 21:49:37 Rabinowitz kernel: Adding Swap: 24692k swap-space
Jun 22 21:49:37 Rabinowitz kernel: Unable to handle kernel paging request at virtual address c282756f
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0282756f>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010246
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000000 ebx: 00000100 ecx: 028274f4 edx: 00000000
Jun 22 21:49:37 Rabinowitz kernel: esi: 01e68f24 edi: 0000002a ebp: 00257518 esp: 01ddcff8
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 29, process nr: 14, stackpage=01ddc000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 028274f4 01ddd018
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: <1>Unable to handle kernel paging request at virtual address c282756f
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0010a96b>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010202
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000010 ebx: 01ddd018 ecx: 0282756f edx: 0000ea60
Jun 22 21:49:37 Rabinowitz kernel: esi: 00000000 edi: 01ddd000 ebp: 01ddcfbc esp: 01ddcf64
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 29, process nr: 14, stackpage=01ddc000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 0019002b 00000000 00027000 01ddcfbc 00000000 02800000 03000000 02800000
Jun 22 21:49:37 Rabinowitz kernel: 00000018 0010fd23 00192b62 01ddcfbc 00000000 0010fa90 01e68f24 0000002a
Jun 22 21:49:37 Rabinowitz kernel: 00257518 00000000 00000000 0010a59b 01ddcfbc 00000000 00000100 028274f4
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<0019002b>] [<02800000>] [<03000000>] [<02800000>] [<0010fd23>] [<0010fa90>] [<0010a59b>]
Jun 22 21:49:37 Rabinowitz kernel: [<028274f4>] [<02820018>] [<0282756f>] [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68
Jun 22 21:49:37 Rabinowitz kernel: Unable to handle kernel paging request at virtual address c2827586
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<02827586>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010246
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000000 ebx: 00000100 ecx: 028274f4 edx: 00000000
Jun 22 21:49:37 Rabinowitz kernel: esi: 01e68f24 edi: 0000002a ebp: 00257518 esp: 01ddbff8
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 30, process nr: 15, stackpage=01ddb000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 028274f4 01ddd018
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: <1>Unable to handle kernel paging request at virtual address c2827586
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0010a96b>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010202
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000010 ebx: 01ddd018 ecx: 02827586 edx: 0000ea60
Jun 22 21:49:37 Rabinowitz kernel: esi: 00000000 edi: 01ddc000 ebp: 01ddbfbc esp: 01ddbf64
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 30, process nr: 15, stackpage=01ddb000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 0019002b 00000000 00027000 01ddbfbc 00000000 02800000 03000000 02800000
Jun 22 21:49:37 Rabinowitz kernel: 00000018 0010fd23 00192b62 01ddbfbc 00000000 0010fa90 01e68f24 0000002a
Jun 22 21:49:37 Rabinowitz kernel: 00257518 00000000 00000000 0010a59b 01ddbfbc 00000000 00000100 028274f4
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<0019002b>] [<02800000>] [<03000000>] [<02800000>] [<0010fd23>] [<0010fa90>] [<0010a59b>]
Jun 22 21:49:37 Rabinowitz kernel: [<028274f4>] [<02820018>] [<02827586>] [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68
Jun 22 21:49:37 Rabinowitz kernel: Unable to handle kernel paging request at virtual address c282759d
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0282759d>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010246
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000000 ebx: 00000100 ecx: 028274f4 edx: 00000000
Jun 22 21:49:37 Rabinowitz kernel: esi: 01e68f24 edi: 0000002a ebp: 00257518 esp: 01dd8ff8
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 31, process nr: 16, stackpage=01dd8000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 028274f4 01ddd018
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: <1>Unable to handle kernel paging request at virtual address c282759d
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0010a96b>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010202
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000010 ebx: 01ddd018 ecx: 0282759d edx: 0000ea60
Jun 22 21:49:37 Rabinowitz kernel: esi: 00000000 edi: 01dd9000 ebp: 01dd8fbc esp: 01dd8f64
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 31, process nr: 16, stackpage=01dd8000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 0019002b 00000000 00027000 01dd8fbc 00000000 02800000 03000000 02800000
Jun 22 21:49:37 Rabinowitz kernel: 00000018 0010fd23 00192b62 01dd8fbc 00000000 0010fa90 01e68f24 0000002a
Jun 22 21:49:37 Rabinowitz kernel: 00257518 00000000 00000000 0010a59b 01dd8fbc 00000000 00000100 028274f4
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<0019002b>] [<02800000>] [<03000000>] [<02800000>] [<0010fd23>] [<0010fa90>] [<0010a59b>]
Jun 22 21:49:37 Rabinowitz kernel: [<028274f4>] [<02820018>] [<0282759d>] [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68
Jun 22 21:49:37 Rabinowitz kernel: Unable to handle kernel paging request at virtual address c28275b4
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<028275b4>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010246
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000000 ebx: 00000100 ecx: 028274f4 edx: 00000000
Jun 22 21:49:37 Rabinowitz kernel: esi: 01e68f24 edi: 0000002a ebp: 00257518 esp: 01dd7ff8
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 32, process nr: 17, stackpage=01dd7000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 028274f4 01ddd018
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: <1>Unable to handle kernel paging request at virtual address c28275b4
Jun 22 21:49:37 Rabinowitz kernel: current->tss.cr3 = 01e32000, Dr3 = 01e32000
Jun 22 21:49:37 Rabinowitz kernel: *pde = 00001067
Jun 22 21:49:37 Rabinowitz kernel: *pte = 00000000
Jun 22 21:49:37 Rabinowitz kernel: Oops: 0000
Jun 22 21:49:37 Rabinowitz kernel: CPU: 0
Jun 22 21:49:37 Rabinowitz kernel: EIP: 0010:[<0010a96b>]
Jun 22 21:49:37 Rabinowitz kernel: EFLAGS: 00010202
Jun 22 21:49:37 Rabinowitz kernel: eax: 00000010 ebx: 01ddd018 ecx: 028275b4 edx: 0000ea60
Jun 22 21:49:37 Rabinowitz kernel: esi: 00000000 edi: 01dd8000 ebp: 01dd7fbc esp: 01dd7f64
Jun 22 21:49:37 Rabinowitz kernel: ds: 0018 es: 0018 fs: 0010 gs: 002b ss: 0018
Jun 22 21:49:37 Rabinowitz kernel: Process insmod (pid: 32, process nr: 17, stackpage=01dd7000)
Jun 22 21:49:37 Rabinowitz kernel: Stack: 0019002b 00000000 00027000 01dd7fbc 00000000 02800000 03000000 02800000
Jun 22 21:49:37 Rabinowitz kernel: 00000018 0010fd23 00192b62 01dd7fbc 00000000 0010fa90 01e68f24 0000002a
Jun 22 21:49:37 Rabinowitz kernel: 00257518 00000000 00000000 0010a59b 01dd7fbc 00000000 00000100 028274f4
Jun 22 21:49:37 Rabinowitz kernel: Call Trace: [<0019002b>] [<02800000>] [<03000000>] [<02800000>] [<0010fd23>] [<0010fa90>] [<0010a59b>]
Jun 22 21:49:37 Rabinowitz kernel: [<028274f4>] [<02820018>] [<028275b4>] [<028274f4>]
Jun 22 21:49:37 Rabinowitz kernel: Code: 64 8a 04 0e 0f a1 88 c2 81 e2 ff 00 00 00 89 54 24 10 52 68
Jun 22 21:49:37 Rabinowitz kernel: lp1 at 0x0378, (polling)
Jun 22 21:49:37 Rabinowitz kernel: Serial driver version 4.13 with no serial options enabled
Jun 22 21:49:37 Rabinowitz kernel: tty00 at 0x03f8 (irq = 4) is a 16550A
Jun 22 21:49:37 Rabinowitz kernel: tty01 at 0x02f8 (irq = 3) is a 16550A
Jun 22 21:49:40 Rabinowitz kernel: PCM device 1 not installed.

-------------------------------------------------------

I ran gdb on the kernel:
> gdb vmlinux /proc/kcore
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.15.1 (i486-linux), Copyright 1995 Free Software Foundation, Inc...
#0 0x0 in ?? ()
(gdb) l *0x0010a96b
0x10a96b is in die_if_kernel (traps.c:160).
155 i++;
156 }
157 }
158 printk("\nCode: ");
159 for(i=0;i<20;i++)
160 printk("%02x ",0xff & get_seg_byte(regs->cs,(i+(char *)regs->eip)));
161 printk("\n");
162 do_exit(SIGSEGV);
163 }
164
(gdb) l *0x0282759d
No source file for address 0x282759d.
(gdb)

-------------------------------------------------------

Also:
> nm vmlinux | sort | less

...
0010a6d0 T alignment_check
0010a6e0 T page_fault
0010a6ec T die_if_kernel
0010a9ac T do_divide_error
0010a9f0 T do_int3
...

-------------------------------------------------------
> ./ksymoops ../System.map < ~/errs
Using `../System.map' to map addresses to symbols.

>>EIP: 10a96b <die_if_kernel+27f/2c0>
Trace: 19002b <pci_strclass+243/4a0>
Trace: 2800000
Trace: 3000000
Trace: 2800000
Trace: 10fd23 <do_page_fault+293/29c>
Trace: 10fd23 <do_page_fault+293/29c>
Trace: 10a59b <error_code+4b/60>
Trace: 28274f4
Trace: 2820018
Trace: 2827586
Trace: 28274f4

Code: 10a96b <die_if_kernel+27f/2c0> movb %fs:(%esi,%ecx,1),%al
Code: 10a96f <die_if_kernel+283/2c0> popl %fs
Code: 10a971 <die_if_kernel+285/2c0> movb %al,%dl
Code: 10a973 <die_if_kernel+287/2c0> andl $0xff,%edx
Code: 10a979 <die_if_kernel+28d/2c0> movl %edx,0x10(%esp,1)
Code: 10a97d <die_if_kernel+291/2c0> pushl %edx
Code: 10a97e <die_if_kernel+292/2c0> pushl $0x90909000
Trace: 28274f4

Segmentation fault

-------------------------------------------------------

Thanks in advance,
Daniel

-------------------------------------------------------------------------------
<a href="http://www.physics.rutgers.edu/~djr/">
Daniel J Rabinowitz -- djr@physics.rutgers.edu </a>
Department of Physics, Rutgers University