Messages in this thread | | | Date | Thu, 15 Mar 2001 11:07:22 -0600 (CST) | From | Matthew Callaway <> | Subject | Network init script causes 2.2.18 kernel oops (tulip driver) |
| |
Greetings,
This is a reproducible oops, and my guess is that it's related to the tulip driver included in the 2.2.18 source tree. We're using a D-Link 4 port NIC, and it appears that it doesn't work well with IPV6 interfaces.
Keywords: linux kernel-2.2.18 tulip D-Link 4-port NIC DFE-570 TX
Relevant Software ----------------- kernel 2.2.18 i686 modutils-2.3.21 glibc-2.1.3-22 ipv6 enabled net-tools 1.54 ifconfig 1.39 (1999-03-18) tulip module (static const char version[] = "tulip.c:v0.91g-ppc 7/16/99 becker@cesdis.gsfc.nasa.gov\n";) from the kernel src.rpm. initscripts-5.00-1.i386.rpm (with the addition below)
Relevant Hardware ----------------- NIC: D-Link DFE-570 TX 4-port
Cause of the Oops ----------------- I had included IPV6 support into the kernel without really wanting it, so my intention was to turn off the IPV6 interfaces until I could replace the kernel. I created the following script to be called by ifup-post. The inclusion of the script cause the oops every time. Note that simply issuing the "ifconfig" command line would not always cause the oops. It seemed to happen 100% of the time only if it was immediately called by ifup-post, as if timing had something to do with the problem.
It is also odd to me that the IPV6 interfaces came up automatically, even though the init scripts do not specify an IP address for them, or bring them up specifically. /sbin/ifconfig just makes a guess and does it.
/etc/sysconfig/network-scripts/ifup-local: #! /bin/sh
DEVICE=$1
# turn off inet6 IFs if [ ! -z "${DEVICE}" ]; then INET6ADDR=$( ifconfig ${DEVICE} |grep inet6 |awk '{print $3}' ) if [ ! -z "${INET6ADDR}" ]; then ifconfig ${DEVICE} del ${INET6ADDR} fi fi
Oops Info (copied by hand, klogd didn't catch it) --------- Call Trace: [<c0109f4d>] [<c0117ca1>] [<c010a2a3>] [<c0109f70>] [<c010796d>] [<c0106000>] [<c0107990>] [<c01090ec>] [<c0106000>] [<c010607b>] [<c0106000>] [<c0100175>] Code: 8b 40 34 89 42 04 8b 86 88 00 00 00 2b 86 84 00 00 00 83 f8
ksymoops output --------------- ksymoops -m /boot/System.map -v vmlinux oops.txt ksymoops 0.7c on i686 2.2.18. Options used -v vmlinux (specified) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.2.18/ (default) -m /boot/System.map-spc-2.2.18-6 (specified)
Call Trace: [<c0109f4d>] [<c0117ca1>] [<c010a2a3>] [<c0109f70>] [<c010796d>] [<c0106000>] [<c0107990>] [<c01090ec>] [<c0106000>] [<c010607b>] [<c0106000>] [<c0100175>] Code: 8b 40 34 89 42 04 8b 86 88 00 00 00 2b 86 84 00 00 00 83 f8 Using defaults from ksymoops -t elf32-i386 -a i386
Trace; c0109f4d <do_8259A_IRQ+9d/a8> Trace; c0117ca1 <do_bottom_half+45/64> Trace; c010a2a3 <do_IRQ+3b/40> Trace; c0109f70 <common_interrupt+18/20> Trace; c010796d <cpu_idle+5d/6c> Trace; c0106000 <get_options+0/74> Trace; c0107990 <sys_idle+14/24> Trace; c01090ec <system_call+34/38> Trace; c0106000 <get_options+0/74> Trace; c010607b <cpu_idle+7/18> Trace; c0106000 <get_options+0/74> Trace; c0100175 <L6+0/2> Code; 00000000 Before first symbol 00000000 <_EIP>: Code; 00000000 Before first symbol 0: 8b 40 34 mov 0x34(%eax),%eax Code; 00000003 Before first symbol 3: 89 42 04 mov %eax,0x4(%edx) Code; 00000006 Before first symbol 6: 8b 86 88 00 00 00 mov 0x88(%esi),%eax Code; 0000000c Before first symbol c: 2b 86 84 00 00 00 sub 0x84(%esi),%eax Code; 00000012 Before first symbol 12: 83 f8 00 cmp $0x0,%eax
I hope this is enough to find the problem. I can reproduce it at will, so if you need more information, contact me and I will be glad to help.
Matthew Callaway
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |