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