UMSDOS: kernel v2.2.7 ksymoops listing for null ptr boot problem.

M Sweger (mikesw@whiterose.net)
Tue, 7 Dec 1999 18:54:11 -0500 (EST)


Hi,
I've provided a ksymoops trace for UMSDOS linux v2.2.7 using libc6 v2.0.7pre6
and gcc v2.95.2. Here are my setups.

A). Hardware
Dell 333mhz optiplex GX1
adaptec 2940U2W AIC 7985
WDE 9 gig SCSI
QUANTUM 1.2 gig IDE
3com 3c59x ether card.

B). USMDOS OS:
stable linux v2.2.1 trying to run v2.2.7
all s/w pkg about the latest i.e. Mtools v3.9.4, util-linuxi,
binutils 2.9.1.0.24.tar.gz
bin86_0.13.0-4.deb
precompiled libc6-dev_2.0.7t-1.deb

modules insmod'd: loop.o 3c59x.o
daemons running: syslogd, klogd,inetd ---nothing else
kernel configuration: minimal with i586 option selected,
with MTRR not enabled.
with SMP support not enabled.
with no floating pt emulation.
with FAT,UMSDOS and VFAT filesys.

****** Listing of rc.M that I use ******

# Start system log daemon: syslogd

if [ -x /usr/sbin/syslogd ]; then
echo "Starting system log daemon: syslogd"
/usr/sbin/syslogd -m 0
fi

# Start kernel log daemon: klogd

if [ -x /usr/sbin/klogd ]; then
echo "Starting kernel log daemon: klogd"

# NOTE: I have to do all this since the stack trace doesn't right to a file.
, the ksyms aren't available due to the crash on boot,
, the modules dumped,
, To get the kern.oops which isn't the stack trace - I need to
force a kernel buffer flush or else I won't have any data at the
crash.

Once the kernel crashes, the MSDOS filesystem must be repaired.
Then when I reboot to a stable v2.2.1 kernel, it copies the previous
data to a safe area for review whils't the new data is written out
for the next reboot.

cp -p /var/log/kern.oops /root/kern.oops.$$.`date +%s`
cat /proc/modules >/root/kmodules.`date +%s`
cat /proc/ksyms >/root/ksyms.`date +%s`
# force kernel flush of messages
sync
/usr/sbin/klogd -f /var/log/kern.oops -k /usr/src/linux/System.map -c 1
fi

C). booted the linux v2.2.7
NOTE: I had to hand type this data into a file to run through ksymoops.
To do this, I'll be running kernel v2.2.1 which is stable; however,
all the data fed to ksymoops is the previous kernel v2.2.7 crash
data.

****** The shell script I run on the data ******
#!/bin/sh

ksymoops -V -l /root/227/kmodules.227 -k /root/227/ksyms.227 -o /lib/modules/2.2.7/ /root/227/kern.ops >/root/227/kt.1 2>&1

******** The data dump trace *********
Note: the module warning might be due to be having v2.2.1 3c59x loaded
althought the ksyms were dumped by rc.M start script above.

ksymoops 0.7c on i686 2.2.7. Options used
-V (specified)
-k /root/227/ksyms.227 (specified)
-l /root/227/kmodules.227 (specified)
-o /lib/modules/2.2.7/ (specified)
-m /usr/src/linux/System.map (default)

Warning (compare_ksyms_lsmod): module 3c59x is in lsmod but not in ksyms, probably no symbols exported
Oops: 0
CPu: 0
EIP: 0010:[<c012c1ae>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010007
eax: 00000000 ebx: c7497010 ecx: c7ef6098 edx: 00000000
esi: c749700c edi: c7497000 ebp: 00000287 esp: c0003efc
ds: 0018 es: 0018 ss: 0018
process init (pid:1, process nr:1, stackpage=c0003000)
Stack: 00000400 0000000b 00000004 c0098ef8 00000000 c012c51b c7497000 00000000
0000000b c012c4ec 00000001 00000004 c0098ef8 00000000 00000000 c0010760
08049544 c0002000 c0002000 7fffffff 00000000 c7497000 00000000 00000000
call trace: [<c012c51b>] [<c012c4ec>] [<c012c885>] [<c0108b2d>] [<c01089f4>]
code: 8b 42 04 39 d8 75 f7 89 4a 04 55 9d 83 c4 f4 8b 06 50 e8 27

>>EIP; c012c1ae <free_wait+3a/74> <=====
Trace; c012c51b <do_select+1fb/214>
Trace; c012c4ec <do_select+1cc/214>
Trace; c012c885 <sys_select+351/478>
Trace; c0108b2d <error_code+2d/40>
Trace; c01089f4 <system_call+34/40>
Code; c012c1ae <free_wait+3a/74>
00000000 <_EIP>:
Code; c012c1ae <free_wait+3a/74> <=====
0: 8b 42 04 movl 0x4(%edx),%eax <=====
Code; c012c1b1 <free_wait+3d/74>
3: 39 d8 cmpl %ebx,%eax
Code; c012c1b3 <free_wait+3f/74>
5: 75 f7 jne fffffffe <_EIP+0xfffffffe> c012c1ac <free_wait+38/74>
Code; c012c1b5 <free_wait+41/74>
7: 89 4a 04 movl %ecx,0x4(%edx)
Code; c012c1b8 <free_wait+44/74>
a: 55 pushl %ebp
Code; c012c1b9 <free_wait+45/74>
b: 9d popf
Code; c012c1ba <free_wait+46/74>
c: 83 c4 f4 addl $0xfffffff4,%esp
Code; c012c1bd <free_wait+49/74>
f: 8b 06 movl (%esi),%eax
Code; c012c1bf <free_wait+4b/74>
11: 50 pushl %eax
Code; c012c1c0 <free_wait+4c/74>
12: e8 27 00 00 00 call 3e <_EIP+0x3e> c012c1ec <__pollwait+4/98>

1 warning issued. Results may not be reliable.

Thanks for any further info.

PS: kernels v2.2.1, v2.2.5, v2.2.6 run ok.
kernels v2.2.7, v2.2.8, v2.2.10, v2.2.12, v2.2.13 crash like this
all other kernels weren't tried.

BTW, if SMP and/or MTRR is compiled in, then I don't get a stack trace
at all although it defaults to no SMP since I only have one processor.

PS2: Please email me too since I don't subscribe to this mailing list
due to the other lists I belong too.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/