Full blown oops + GP + everything with 2.0.6

PC-Ace (PC-Ace@iactiva.cl)
Tue, 16 Jul 1996 18:45:42 -0400


Hi! First of all, I'm sorry if this message barfs somehow, but I'm forced to use Netscrape to
send it.

I'm sending this to report not one, but several oops and other weird errors I got last night on
my 2.0.6 box.

I was writing a small script to find a.out executables on my system. I ran it several times so
that brought the loadavg a bit high. After one of those runs I grabbed a piece of text from the
script with GPM and pasted it on my bash prompt. Suddenly I got the first oops of my life, which
went like this:

Unable to handle kernel NULL pointer dereference at virtual address c0000001
current->tss.cr3 = 0061a000,
*pde = 00102067
*pte = 00000027
Oops: 0000
CPU: 0
EIP: 0010:[<002bdf6c>]
EFLAGS: 00010202
eax: 00000001 ebx: 00346000 ecx: 0036af68 edx: 00000001
esi: 002526c0 edi: 0036b5b8 ebp: 00000001 esp: 0036af74
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process bash (pid: 2116, process nr: 6, stackpage=0036a000)
Stack: 00346000 002526c0 bffff50b 00000000 002526c0 00000001 0036b5b8 bffff50b
00122f0c 0036b5b8 002526c0 bffff50b 00000001 00739810 00000000 000000e9
bffff4f0 0010a642 00000000 bffff50b 00000001 00000000 000000e9 bffff4f0
Call Trace: [<00122f0c>] [<0010a642>]
Code: 18 00 2d 00 e1 b7 16 00 b6 ce 16 00 00 60 34 00 40 2a 25 00

Running it thru ksymoops I find:

Using `/System.map' to map addresses to symbols.
Trace: 122f0c <sys_read+8c/b0>
Trace: 10a642 <system_call+52/80>
Code: sbbb %al,(%eax)
Code: subl $0x16b7e100,%eax
Code: addb %dh,0x16ce(%esi)
Code: pusha
Code: xorb $0x0,%al
Code: incl %eax
Code: subb 0x90900000,%ah
Code: nop

It killed my bash and I was back to the agetty prompt. I tried to log in but at the first key I
typed I got:

general protection: 0000
CPU: 0
EIP: 0010:[<002bdf7f>]
EFLAGS: 00010246
eax: 00000000 ebx: 00346000 ecx: 0036af68 edx: 00000001
esi: 00252900 edi: 0036b5b8 ebp: 00000001 esp: 0036af74
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process agetty (pid: 20111, process nr: 6, stackpage=0036a000)
Stack: 00346000 00252900 bffffe93 00000000 00252900 00000001 0036b5b8 bffffe93
00122f0c 0036b5b8 00252900 bffffe93 00000001 00739810 0805ef24 0805e51c
bffffe6c 0010a642 00000000 bffffe93 00000001 0805ef24 0805e51c bffffe6c
Call Trace: [<00122f0c>] [<0010a642>]
Code: 00 70 bb 36 00 18 00 2d 00 d8 80 00 08 04 fa ff bf 05 00 00

Which according to ksymoops is:

Trace: 122f0c <sys_read+8c/b0>
Trace: 10a642 <system_call+52/80>

I hit another key, which gave me the same thing. I did it again and again and about the 4th time
it worked and I got to log in. I went and pasted the same string as before with GPM and got:

Unable to handle kernel paging request at virtual address c1b5adc1
current->tss.cr3 = 0028f000,
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<002bdf7b>]
EFLAGS: 00010202
eax: 00000000 ebx: 00346000 ecx: 6465bf68 edx: 00000001
esi: 00252040 edi: 0036b5b8 ebp: 00000001 esp: 0036af74
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process bash (pid: 20186, process nr: 6, stackpage=0036a000)
Stack: 00346000 00252040 bffff507 00000000 00252040 00000001 0036b5b8 bffff507
00122f0c 0036b5b8 00252040 bffff507 00000001 00739810 00000000 000000e9
bffff4ec 0010a642 00000000 bffff507 00000001 00000000 000000e9 bffff4ec
Call Trace: [<00122f0c>] [<0010a642>]
Code: 00 0c fa ff bf 00 00 00 00 18 00 2d 00 d8 80 00 08 04 fa ff

ksymoops then said:

Using `/System.map' to map addresses to symbols.
Trace: 122f0c <sys_read+8c/b0>
Trace: 10a642 <system_call+52/80>
Code: addb %cl,(%edx,%edi,8)
Code: (bad)
Code: movl $0x0,%edi
Code: sbbb %al,(%eax)
Code: subl $0x80d800,%eax
Code: orb %al,(%edx,%edi,8)
Code: incl (%eax)
Code: nop
Code: nop
Code: nop

And then I noticed I could cut & paste ANYTHING on that tty (2) and it would always oops (but
nothing happened on the other ttys). I started getting worried about corruption and decided to
shut down. I switched to tty 1 and tried to do "halt", but I started getting a lot of these:

Warning: bad magic number for tty struct (04:02)
in release_dev
Warning: dev (04:02) tty->count(4) != #fd's(3) in
do_tty_hangup
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: dev (04:02) tty->count(5) != #fd's(3) in
tty_open
Warning: bad magic number for tty struct (04:00)
in tty_ioctl
Warning: bad magic number for tty struct (04:00)
in tty_ioctl
Warning: bad magic number for tty struct (04:00)
in tty_write
Warning: bad magic number for tty struct (04:02)
in release_dev
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: dev (04:02) tty->count(6) != #fd's(1) in
tty_open
/sbin/agetty: tty2: ioctl: Invalid argument
Warning: bad magic number for tty struct (04:00)
in relWarning: bad magic number for tty struct (04:02)
in release_dev
Warning: dev (04:02) tty->count(4) != #fd's(3) in
do_tty_hangup
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: dev (04:02) tty->count(5) != #fd's(3) in
tty_open
Warning: bad magic number for tty struct (04:00)
in tty_ioctl
Warning: bad magic number for tty struct (04:00)
in tty_ioctl
Warning: bad magic number for tty struct (04:00)
in tty_write
Warning: bad magic number for tty struct (04:02)
in release_dev
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: bad magic number for tty struct (04:00)
in release_dev
Warning: dev (04:02) tty->count(6) != #fd's(1) in
tty_open
/sbin/agetty: tty2: ioctl: Invalid argument
Warning: bad magic number for tty struct (04:00)
in release_dev

After about 4 screenfuls of these, it let me continue and I could gracefully shut down.

Here's my .config :

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KERNELD=y
#
# General setup
#
CONFIG_MATH_EMULATION=y
CONFIG_NET=y
# CONFIG_MAX_16M is not set
# CONFIG_PCI is not set
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_JAVA is not set
CONFIG_KERNEL_ELF=y
CONFIG_M486=y
#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=m
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDE_PCMCIA is not set
CONFIG_BLK_DEV_CMD640=y
# CONFIG_IDE_CHIPSETS is not set
#
# Additional Block Devices
#
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ACCT is not set
#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
#
#
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_BRIDGE is not set
# CONFIG_NETLINK is not set
#
# SCSI support
#
# CONFIG_SCSI is not set
#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
# CONFIG_DLCI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
#
# CCP compressors for PPP are only built as modules.
#
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
# CONFIG_SLIP_SMART is not set
# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_NET_RADIO is not set
# CONFIG_NET_ETHERNET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set
#
# ISDN subsystem
#
# CONFIG_ISDN is not set
#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set
#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_LOCK_MANDATORY is not set
CONFIG_MINIX_FS=m
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_VFAT_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
# CONFIG_SMB_FS is not set
CONFIG_ISO9660_FS=m
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_UFS_FS is not set
#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
CONFIG_PRINTER=m
CONFIG_MOUSE=y
# CONFIG_ATIXL_BUSMOUSE is not set
# CONFIG_BUSMOUSE is not set
# CONFIG_MS_BUSMOUSE is not set
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set
#
# Sound
#
CONFIG_SOUND=m
# CONFIG_PAS is not set
CONFIG_SB=y
CONFIG_ADLIB=y
# CONFIG_GUS is not set
# CONFIG_MPU401 is not set
# CONFIG_UART6850 is not set
# CONFIG_PSS is not set
# CONFIG_GUS16 is not set
# CONFIG_GUSMAX is not set
# CONFIG_MSS is not set
# CONFIG_SSCAPE is not set
# CONFIG_TRIX is not set
# CONFIG_MAD16 is not set
# CONFIG_CS4232 is not set
# CONFIG_MAUI is not set
CONFIG_AUDIO=y
# CONFIG_MIDI is not set
CONFIG_YM3812=y
SBC_BASE=220
SBC_IRQ=5
SBC_DMA=1
SB_DMA2=5
SB_MPU_BASE=0
SB_MPU_IRQ=-1
DSP_BUFFSIZE=65536
# CONFIG_LOWLEVEL_SOUND is not set
#
# Kernel hacking
#
# CONFIG_PROFILE is not set

Finally, my general system config:

Compaq Presario CDS-520, 8MB RAM, SX2/66 (note SX2, weird, no coprocessor)
PS2-compatible Compaq Mouse
HDD: QUANTUM TRB850A, 810MB w/96kB Cache, LBA, CHS=822/32/63 (as detected by the kernel)
CD-ROM drive: MATSHITA CR-571, ATAPI CDROM drive (also acc. to kernel)

libc 5.3.12
kernel 2.0.6
gpm 1.09
and everything else required to upgrade a slack 3.0 system to kernel 2.x
Sorry for the long message, but I never had a similar problem before!

Thanks...

---