Some OOPSes and kmod problems in 2.1.105 and 2.1.106-pre1 (gcc2.7.2.3)

Benjamin Redelings I (bredelin@ucsd.edu)
Fri, 12 Jun 1998 11:29:28 -0700


This is a multi-part message in MIME format.
--------------0E120869A36DD41D2C4F2289
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I've attatched some oopses here that occurred with 2.1.105 and
2.1.106-pre1. These seem to result from devfs stressing the kernel by
requesting modules that don't exist (e.g. initctl) multiple times per
second. Note that if this is the case this is NOT A DEVFS PROBLEM! This
is a problem that is revealed by stress testing! I made it go away by
creating a /dev/initctl fifo at boot but if there is a kernel oops the
"Right Thing" to do is to fix the kernel.

kmod was also having problems: On shutdown it would complain

Jun 9 00:27:43 telomere kernel: kmod: waitpid(489,NULL,0) failed,
returning -512.
Jun 9 00:27:47 telomere kernel: VFS: Close: file count is 0
Jun 9 00:27:47 telomere kernel: get_unused_fd: slot 3 not NULL!
Jun 9 00:27:47 telomere kernel: kmod: waitpid(493,NULL,0) failed,
returning -512.

The first wait pid is from sending processes the TERM signal. The second
is from the KILL signal. The pid was always incremented by 4 between the
two error messages.

Also, in 2.1.105, kmod would hang the system trying to load modules if I
didn't mount /proc before starting /sbin/init. If I killed the process
(mounting all filesystems) to continue with the boot, I'd get another
waitpid message. Using sys-req, sure enough I could see a modprobe waiting
around doing nothing.:

(none) kernel: VFS: Mounted root (ext2 filesystem) readonly.
(none) kernel: Mounted devfs on /dev
(none) kernel: Freeing unused kernel memory: 28k freed
(none) kernel: Adding Swap: 34236k swap-space (priority -1)
(none) kernel: SysRq: Show State
(none) kernel:
(none) kernel: free sibling
(none) kernel: task PC stack pid father child younger
older
(none) kernel: init 1 S FFFFFC18 0 1 0 14
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: kflushd 2 S 00000017 0 2 1 3
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: kswapd 3 S FFFFFC18 0 3 1 4
2
(none) kernel: sig: 0 0000000000000000 ffffffffffffffff : X
(none) kernel: init 4 S 00000017 0 4 1 5 14
3
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: rcS 5 S 0000001F 0 5 4 36
(none) kernel: sig: 0 0000000000000000 0000000000010000 : X
(none) kernel: update 7 S FFFFFC18 0 14 1
4
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: rcS 8 S 00000019 0 36 5 37
(none) kernel: sig: 0 0000000000000000 0000000000010000 : X
(none) kernel: mount 9 S 0000001F 0 37 36 40
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: modprobe 6 S 00000018 0 40 37 41
(none) kernel: sig: 0 0000000000000000 0000000000010000 : X
(none) kernel: sh 10 D FFFFFC18 0 41 40
(none) kernel: sig: 0 0000000000000000 0000000000000000 : X
(none) kernel: SysRq: Kill All Tasks
(none) kernel: kmod: waitpid(40,NULL,0) failed, returning -512.
(none) kernel: SIFFL eth0(dhcpcd.new)

-BenRI

System: PPro 150, Debian 2.0 (glibc 2.0.7-pre3)
2.1.105: devfs v35
2.1.106-pre1: devfs v36
compiler: gcc2.7.2.3-4.5
--------------0E120869A36DD41D2C4F2289
Content-Type: text/plain; charset=us-ascii; name="oopses"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="oopses"

Using `/boot/System.map-2.1.105' to map addresses to symbols.

>>EIP: c01246a0 <close_fp+28/84>
Trace: c0124748 <sys_close+4c/58>
Trace: c010a728 <system_call+38/3c>
Code: c01246a0 <close_fp+28/84>
Code: c01246a0 <close_fp+28/84> 83 78 08 00 cmpl $0x0,0x8(%eax)
Code: c01246a4 <close_fp+2c/84> 74 0a je c01246b0 <close_fp+38/84>
Code: c01246a6 <close_fp+2e/84> 52 pushl %edx
Code: c01246a7 <close_fp+2f/84> 53 pushl %ebx
Code: c01246a8 <close_fp+30/84> e8 ff a8 00 00 call c012efac <locks_remove_posix>
Code: c01246ad <close_fp+35/84> 83 c4 08 addl $0x8,%esp
Code: c01246b0 <close_fp+38/84> 0f b7 43 1c movzwl 0x1c(%ebx),%eax
>>EIP: c01246a0 <close_fp+28/84>
Trace: c0124748 <sys_close+4c/58>
Trace: c010a728 <system_call+38/3c>
Code: c01246a0 <close_fp+28/84>
Code: c01246a0 <close_fp+28/84> 83 78 08 00 cmpl $0x0,0x8(%eax)
Code: c01246a4 <close_fp+2c/84> 74 0a je c01246b0 <close_fp+38/84>
Code: c01246a6 <close_fp+2e/84> 52 pushl %edx
Code: c01246a7 <close_fp+2f/84> 53 pushl %ebx
Code: c01246a8 <close_fp+30/84> e8 ff a8 00 00 call c012efac <locks_remove_posix>
Code: c01246ad <close_fp+35/84> 83 c4 08 addl $0x8,%esp
Code: c01246b0 <close_fp+38/84> 0f b7 43 1c movzwl 0x1c(%ebx),%eax
>>EIP: c01246a0 <close_fp+28/84>
Trace: c0124748 <sys_close+4c/58>
Trace: c010a728 <system_call+38/3c>
Trace: c010002b <startup_32+2b/12e>
Code: c01246a0 <close_fp+28/84>
Code: c01246a0 <close_fp+28/84> 83 78 08 00 cmpl $0x0,0x8(%eax)
Code: c01246a4 <close_fp+2c/84> 74 0a je c01246b0 <close_fp+38/84>
Code: c01246a6 <close_fp+2e/84> 52 pushl %edx
Code: c01246a7 <close_fp+2f/84> 53 pushl %ebx
Code: c01246a8 <close_fp+30/84> e8 ff a8 00 00 call c012efac <locks_remove_posix>
Code: c01246ad <close_fp+35/84> 83 c4 08 addl $0x8,%esp
Code: c01246b0 <close_fp+38/84> 0f b7 43 1c movzwl 0x1c(%ebx),%eax

--------------0E120869A36DD41D2C4F2289
Content-Type: text/plain; charset=us-ascii; name="oops2"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="oops2"

Using `/boot/System.map-2.1.106' to map addresses to symbols.

>>EIP: c01246c0 <default_llseek+14/78>
Trace: c0124768 <sys_lseek+44/e0>
Trace: c010a728 <do_signal+104/2d8>
Code: c01246c0 <default_llseek+14/78>
Code: c01246c0 <default_llseek+14/78> 83 78 08 00 cmpl $0x0,0x8(%eax)
Code: c01246c4 <default_llseek+18/78> 74 0a je c01246d0 <default_llseek+24/78>
Code: c01246c6 <default_llseek+1a/78> 52 pushl %edx
Code: c01246c7 <default_llseek+1b/78> 53 pushl %ebx
Code: c01246c8 <default_llseek+1c/78> e8 e7 a8 00 00 call c012efb4 <locks_remove_flock+68/88>
Code: c01246cd <default_llseek+21/78> 83 c4 08 addl $0x8,%esp
Code: c01246d0 <default_llseek+24/78> 0f b7 43 1c movzwl 0x1c(%ebx),%eax

--------------0E120869A36DD41D2C4F2289--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu