2.0.30 crash in locks_remove_locks()

Carlo Wood (carlo@runaway.xs4all.nl)
Thu, 15 May 1997 16:54:28 +0200 (MET DST)


Hi all,

I recently upgraded to

ld.so-1.9.2
binutils-2.8.0.3
libc-5.4.28 (shared, develop and static)

I've done this often and did not expect problems.
I used (of course) the binary distributions.
I did read and follow all release* notes.

I also installed, for the first time,

locale-5.4.28-2.i386.rpm (I use RedHat).

After this I could compile libc-5.4.28 myself with success, but I did
not install the the self compiled files.

I also upgraded to

libg++-2.7.2.1

After this I could compile very complex programs without any problems.
They also did run ;)

Until I upgraded from kernel 2.0.29 (which still worked and booted), to
2.0.30. I compiled this myself. (Note that I also have bin86-0.4).
The compile was successful as always, I installed the image, compiled and
installed the module, run /sbin/lilo etc... as I have done a million times
before. NOTE: I applied a few patches to the 2.0.30 source tree, this is
attached below as one single patch.

But, then after booting - the boot process crashed in rc.sysinit.
Firstly, any echo "blah blah" in rc.sysinit does NOT gave any output
anymore, which is weird. 'sleep' still worked (I used that to know where
it crashed - using a lot of sleeps and a stop watch ;).

I have a PPro200 with 64 megs ram. The /usr/src/linux/.config file is
included below.

I wrote the crash down on paper, here it is:
[ I added comments between square brackets ]

.....
VFS: Mounted root (ext2 filesystem) readonly.
INIT: version 2.64 booting
[ here a 'echo' output is missing ]
Adding Swap: 130748k swap-space (priority -1) [ this '(priority -1)' is unusual,
doesn't happen with kernel 2.0.29 ]
general protection: 0000
CPU: 0
EIP: 010:[<0012cd98>]
EFLAGS: 00010282
eax: f00000fd ebx: 03f7c810 ecx: 00000000 edx: 000123f0
esi: 00000000 edi: f00000fd ebp: 03ee8018 esp: 03ed8f7c
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process swapon (pid: 11, process nr: 9, stackpage = 03ed8000)
Stack: 00000413 00122103 03f7c810 00000000 00000413 00000406 00000021 0011674a
00000000 03f7c810 ffffffff fffffffc 00000000 00116832 00000000 0010a5f5
00000000 00000000 400a8e48 ffffffff fffffffc 00000000 ffffffda 400a002b
Call Trace: [<00122103>] [<0011674a>] [<00116832>] [<0010a5f5>]
Code: 8b 50 50 85 d2 74 22 f6 42 1c 01 74 0f 53 83 c0 50 50 e8 15
general protection: 0000
CPU: 0
EIP: 010:[<0012cd98>]
EFLAGS: 00010282
eax: f00000fd ebx: 03f7c810 ecx: 00000000 edx: 000123f0
esi: 00000000 edi: f00000fd ebp: 03ee8018 esp: 03ed8f7c
ds: 0018 es: 0018 fs: 002b gs: 002b ss: 0018
Process rc.sysinit (pid: 17, process nr: 9, stackpage = 03f08000)
Stack: 00000427 00122103 03f7c810 00000000 00000427 00000406 00000021 0011674a
00000000 03f7c810 ffffffff fffffffc 00000000 00116832 00000000 0010a5f5
00000000 00000000 400a8e48 ffffffff fffffffc 00000000 ffffffda 400a002b
Call Trace: [<00122103>] [<0011674a>] [<00116832>] [<0010a5f5>]
Code: 8b 50 50 85 d2 74 22 f6 42 1c 01 74 0f 53 83 c0 50 50 e8 15
[ Here the machine hung, hard reset was needed ]

/usr/src/linux.fail/scripts>ksymoops ../System.map < oopslog
Using `../System.map' to map addresses to symbols.

>>EIP: 12cd98 <locks_remove_locks+c/38>
Trace: 122103 <close_fp+37/5c>
Trace: 11674a <do_exit+112/1ec>
Trace: 116832 <sys_exit+e/10>
Trace: 10a5f5 <system_call+55/80>

Code: 12cd98 <locks_remove_locks+c/38>
>>EIP: 12cd98 <locks_remove_locks+c/38>
Trace: 122103 <close_fp+37/5c>
Trace: 11674a <do_exit+112/1ec>
Trace: 116832 <sys_exit+e/10>
Trace: 10a5f5 <system_call+55/80>

Code: 12cd98 <locks_remove_locks+c/38>

Please let me know if any more info is needed...

And PLEASE let me know if someone knows what is causing this, because it
sucks that I can't compile my own kernel anymore :( :( (Please CC me).

Carlo

PS I now recompiled stock 2.0.29 with the new binutils/libc etc, I'll let
you know if that works in the next mail.

-- 
 carlo@runaway.xs4all.nl, Run @ IRC.

ircd development: http://www.xs4all.nl/~carlo17/ircd-dev

More info follows: (This is done with the 2.0.29 kernel ofcourse!)

/proc>cat cpuinfo processor : 0 cpu : 686 model : Pentium Pro vendor_id : GenuineIntel stepping : 7 fdiv_bug : no hlt_bug : no fpu : yes fpu_exception : yes cpuid : yes wp : yes flags : fpu vme de pse tsc msr pae mce cx8 11 mtrr pge mca cmov bogomips : 199.07

/proc>cat devices Character devices: 1 mem 2 pty 3 ttyp 4 ttyp 5 console 7 vcs 10 misc 14 sound

Block devices: 3 ide0 22 ide1

/proc>cat interrupts 0: 325912 timer 1: 12251 keyboard 2: 0 cascade 10: 240 eexpress 12: 17317 PS/2 Mouse 13: 1 math error 14: 123643 + ide0 15: 0 + ide1

/proc>cat pci PCI devices found: Bus 0, device 15, function 0: VGA compatible controller: Matrox Millennium (rev 1). Medium devsel. Fast back-to-back capable. IRQ 9. Non-prefetchable 32 bit memory at 0xffbec000. Prefetchable 32 bit memory at 0xff000000. Bus 0, device 7, function 1: IDE interface: Intel 82371SB Natoma/Triton II PIIX3 (rev 0). Medium devsel. Fast back-to-back capable. Master Capable. Latency=64. I/O at 0xffa0. Bus 0, device 7, function 0: ISA bridge: Intel 82371SB Natoma/Triton II PIIX3 (rev 1). Medium devsel. Fast back-to-back capable. Master Capable. No bursts. Bus 0, device 0, function 0: Host bridge: Intel 82441FX Natoma (rev 2). Medium devsel. Fast back-to-back capable. Master Capable. Latency=64.

--------- START OF /usr/src/linux/.config FILE -------------------------------- # # Automatically generated make config: don't edit #

# # Code maturity level options # CONFIG_EXPERIMENTAL=y

# # Loadable module support # CONFIG_MODULES=y CONFIG_MODVERSIONS=y CONFIG_KERNELD=y

# # General setup # # CONFIG_MATH_EMULATION is not set CONFIG_NET=y # CONFIG_MAX_16M is not set CONFIG_PCI=y CONFIG_PCI_OPTIMIZE=y CONFIG_SYSVIPC=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y CONFIG_BINFMT_JAVA=m CONFIG_KERNEL_ELF=y # CONFIG_M386 is not set # CONFIG_M486 is not set # CONFIG_M586 is not set CONFIG_M686=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 is not set # CONFIG_BLK_DEV_RZ1000 is not set CONFIG_BLK_DEV_TRITON=y # CONFIG_IDE_CHIPSETS is not set

# # Additional Block Devices # CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_MD is not set CONFIG_BLK_DEV_RAM=m # CONFIG_BLK_DEV_XD is not set # CONFIG_BLK_DEV_HD 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_SYN_COOKIES is not set # CONFIG_RST_COOKIES is not set # CONFIG_IP_ACCT is not set # CONFIG_IP_ROUTER is not set # CONFIG_NET_IPIP 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 is not set # CONFIG_NET_RADIO is not set CONFIG_NET_ETHERNET=y # CONFIG_NET_VENDOR_3COM is not set # CONFIG_LANCE is not set # CONFIG_NET_VENDOR_SMC is not set CONFIG_NET_ISA=y # CONFIG_AT1700 is not set # CONFIG_E2100 is not set # CONFIG_DEPCA is not set # CONFIG_EWRK3 is not set CONFIG_EEXPRESS=y # CONFIG_EEXPRESS_PRO is not set # CONFIG_FMV18X is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set # CONFIG_HP100 is not set # CONFIG_ETH16I is not set # CONFIG_NE2000 is not set # CONFIG_NI52 is not set # CONFIG_NI65 is not set # CONFIG_SEEQ8005 is not set # CONFIG_SK_G16 is not set # CONFIG_NET_EISA is not set # CONFIG_NET_POCKET is not set # CONFIG_TR is not set # CONFIG_FDDI 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=y # CONFIG_ROOT_NFS is not set # CONFIG_SMB_FS is not set CONFIG_ISO9660_FS=m CONFIG_HPFS_FS=m # CONFIG_SYSV_FS is not set # CONFIG_AFFS_FS is not set # CONFIG_UFS_FS is not set

# # Character devices # CONFIG_SERIAL=m # 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=y # CONFIG_LOWLEVEL_SOUND is not set

# # Kernel hacking # # CONFIG_PROFILE is not set --------- END OF /usr/src/linux/.config FILE ----------------------------------

--------- START OF /etc/fstab FILE -------------------------------------------- /dev/hda3 / ext2 defaults 1 1 /dev/hda5 /home ext2 defaults 1 2 /dev/hda11 /tmp ext2 defaults 1 2 /dev/hda6 /usr ext2 defaults 1 2 /dev/hda12 /usr/X11R6 ext2 defaults 1 2 /dev/hda13 /usr/bulk ext2 defaults 1 2 /dev/hda8 /usr/lib ext2 defaults 1 2 /dev/hda7 /usr/local ext2 defaults 1 2 /dev/hda14 /usr/src ext2 defaults 1 2 /dev/hda9 /var/log ext2 defaults 1 2 /dev/hda10 /var/spool ext2 defaults 1 2 /dev/hda2 swap swap defaults 0 0 /dev/hda1 /dos/c msdos defaults 0 0 /dev/fd0 /flop ext2 noauto 0 0 none /proc proc defaults 0 0 /dev/cdrom /cdrom iso9660 noauto 0 0 192.168.1.1:/var/spool/mail /var/spool/mail nfs defaults 0 0 /dev/hdb2 /backup ext2 noauto 0 0 --------- END OF /etc/fstab FILE ----------------------------------------------