oops with e1000, ifenslave (bonding)
Hello,
the following oops occurs repeatadly:
--------------------------------------8<--------------------------------------
ksymoops 2.4.5 on i686 2.4.20. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.20/ (default)
-m /boot/System.map-2.4.20 (default)
Warning: You did not tell me where to find symbol information. I will assume that the log matches the kernel and modules that are running right now and I'll use the default options above for symbol resolution. If the current kernel and/or modules do not match the log, you can get more accurate output by telling me the kernel version and where to find map, modules, ksyms etc. ksymoops -h explains the options.
Unable to handle kernel NULL pointer dereference at virtual address 00000000 f89500d9 *pde = 00000000 Oops: 0000 CPU: 1 EIP: 0010:[<f89500d9>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000 ebx: f5af0960 ecx: 0d143dd3 edx: 18217949
esi: 00000000 edi: 00000000 ebp: d74bfe60 esp: d74bfe48
ds: 0018 es: 0018 ss: 0018
Process ifenslave (pid: 7281, stackpage=d74bf000)
Stack: f5af0960 f5af0800 000010c3 f5af0960 f5af0960 00000000 d74bfea0 f894f263
f5af0960 f5af0960 d74bfea0 f894f25a f5af0960 c0367b6c 00000001 00000082
f5af0960 f5af0800 00000296 f896000c f5af0800 c0367b60 d74bfed0 f894fab2
Call Trace: [<f894f263>] [<f894f25a>] [<f896000c>] [<f894fab2>] [<c0270e67>]
[<c0270ea6>] [<c0272185>] [<c02a18d4>] [<c02a3e07>] [<c026a67f>] [<c0147007>]
[<c01089f7>]
Code: 8b 14 30 85 d2 74 2f 8b 42 70 83 f8 01 74 0b f0 ff 4a 70 0fQuoted 7 lines
Quoted 7 lines
EIP;
f89500d9<[e1000]e1000_clean_tx_ring+25/11c> <=====ebx;
f5af0960<_end+356f69bc/3853f0bc>
ecx;0d143dd3Before first symbol
edx; 18217949 Before first symbol
ebp;d74bfe60<_end+170c5ebc/3853f0bc>
esp;d74bfe48<_end+170c5ea4/3853f0bc>
Trace; f894f263 <[e1000]e1000_down+7f/94> Trace; f894f25a <[e1000]e1000_down+76/94> Trace; f896000c <[e1000]e1000_notifier_netdev+0/14> Trace; f894fab2 <[e1000]e1000_close+16/34> Trace; c0270e67 <dev_close+23/98>
Trace; c0270ea6 <dev_close+62/98>
Trace; c0272185 <dev_change_flags+51/104> Trace; c02a18d4 <devinet_ioctl+328/6d8> Trace; c02a3e07 <inet_ioctl+17b/1cc>
Trace; c026a67f <sock_ioctl+4b/70>
Trace; c0147007 <sys_ioctl+1bb/1f6>
Trace; c01089f7 <system_call+33/38>
Code; f89500d9 <[e1000]e1000_clean_tx_ring+25/11c> 00000000 <_EIP>:
Code; f89500d9 <[e1000]e1000_clean_tx_ring+25/11c> <=====
0: 8b 14 30 mov (%eax,%esi,1),%edx <=====
Code; f89500dc <[e1000]e1000_clean_tx_ring+28/11c>
3: 85 d2 test %edx,%edx
Code; f89500de <[e1000]e1000_clean_tx_ring+2a/11c>
5: 74 2f je 36 <_EIP+0x36> f895010f <[e1000]e1000_clean_tx_ring+5b/11c>
Code; f89500e0 <[e1000]e1000_clean_tx_ring+2c/11c>
7: 8b 42 70 mov 0x70(%edx),%eax
Code; f89500e3 <[e1000]e1000_clean_tx_ring+2f/11c>
a: 83 f8 01 cmp $0x1,%eax
Code; f89500e6 <[e1000]e1000_clean_tx_ring+32/11c>
d: 74 0b je 1a <_EIP+0x1a> f89500f3 <[e1000]e1000_clean_tx_ring+3f/11c>
Code; f89500e8 <[e1000]e1000_clean_tx_ring+34/11c>
f: f0 ff 4a 70 lock decl 0x70(%edx)
Code; f89500ec <[e1000]e1000_clean_tx_ring+38/11c>
13: 0f 00 00 sldtl (%eax)
1 warning issued. Results may not be reliable.
--------------------------------------8<--------------------------------------
To reproduce:
in /etc/modules.conf:
--------------------------------------8<--------------------------------------
alias bond0 bonding
options bond0 miimon=100 mode=0
--------------------------------------8<--------------------------------------
# ifconfig eth1 up # ifconfig eth2 up # ifconfig bond0 192.168.254.1 netmask 255.255.255.0 broadcast 192.168.254.255 # ifenslave bond0 eth1 eth2 # ifenslave -d bond0 eth1 eth2 <Ooops>
it also occurs when using "ifenslave -D ..."
Although this is the module downloaded from Intel's webpage, it also happens with the e1000 driver shipped with the kernel.
When loading the module:
Intel(R) PRO/1000 Network Driver - version 5.0.43
Copyright (c) 1999-2003 Intel Corporation.
eth1: Intel(R) PRO/1000 Network Connection
eth2: Intel(R) PRO/1000 Network Connection
--------------------------------------8<--------------------------------------
# ifenslave -V ifenslave.c:v0.07 9/9/97 Donald Becker ([email protected]) Contains patches from Willy Tarreau and Guus Sliepen.
--------------------------------------8<--------------------------------------
# more /proc/net/PRO_LAN_Adapters/eth1.info Description Intel(R) PRO/1000 Network Connection Part_Number a92111-004 Driver_Name e1000 Driver_Version 5.0.43 PCI_Vendor 0x8086 PCI_Device_ID 0x1010 PCI_Subsystem_Vendor 0x8086 PCI_Subsystem_ID 0x1011 PCI_Revision_ID 0x01 PCI_Bus 0 PCI_Slot 8 PCI_Bus_Type PCI PCI_Bus_Speed 66MHz PCI_Bus_Width 64-bit IRQ 10 System_Device_Name eth1 Current_HWaddr 00:07:E9:0F:78:56 Permanent_HWaddr 00:07:E9:0F:78:56
Link N/A Speed N/A Duplex N/A State down
Rx_Packets 147913989 Tx_Packets 141364317 Rx_Bytes 265647938 Tx_Bytes 2786751200 Rx_Errors 0 Tx_Errors 0 Rx_Dropped 0 Tx_Dropped 0 Multicast 0 Collisions 0 Rx_Length_Errors 0 Rx_Over_Errors 0 Rx_CRC_Errors 0 Rx_Frame_Errors 0 Rx_FIFO_Errors 0 Rx_Missed_Errors 0 Tx_Aborted_Errors 0 Tx_Carrier_Errors 0 Tx_FIFO_Errors 0 Tx_Heartbeat_Errors 0 Tx_Window_Errors 0 Tx_Abort_Late_Coll 0 Tx_Deferred_Ok 0 Tx_Single_Coll_Ok 0 Tx_Multi_Coll_Ok 0 Rx_Long_Length_Errors 0 Rx_Short_Length_Errors 0 Rx_Align_Errors 0 Tx_TCP_Seg_Good 0 Tx_TCP_Seg_Failed 0 Rx_Flow_Control_XON 0 Rx_Flow_Control_XOFF 0 Tx_Flow_Control_XON 0 Tx_Flow_Control_XOFF 0 Rx_CSum_Offload_Good 147913706 Rx_CSum_Offload_Errors 0
PHY_Media_Type Copper PHY_Cable_Length Unknown PHY_Extended_10Base_T_Distance Unknown PHY_Cable_Polarity Unknown PHY_Disable_Polarity_Correction Unknown PHY_Idle_Errors 1020 PHY_Receive_Errors 5238 PHY_MDI_X_Enabled Unknown PHY_Local_Receiver_Status Unknown PHY_Remote_Receiver_Status Unknown
# more /proc/net/PRO_LAN_Adapters/eth2.info Description Intel(R) PRO/1000 Network Connection Part_Number a92111-004 Driver_Name e1000 Driver_Version 5.0.43 PCI_Vendor 0x8086 PCI_Device_ID 0x1010 PCI_Subsystem_Vendor 0x8086 PCI_Subsystem_ID 0x1011 PCI_Revision_ID 0x01 PCI_Bus 0 PCI_Slot 8 PCI_Bus_Type PCI PCI_Bus_Speed 66MHz PCI_Bus_Width 64-bit IRQ 11 System_Device_Name eth2 Current_HWaddr 00:07:E9:0F:78:57 Permanent_HWaddr 00:07:E9:0F:78:57
Link N/A Speed N/A Duplex N/A State down
Rx_Packets 11 Tx_Packets 167 Rx_Bytes 856 Tx_Bytes 15800 Rx_Errors 0 Tx_Errors 0 Rx_Dropped 0 Tx_Dropped 0 Multicast 0 Collisions 0 Rx_Length_Errors 0 Rx_Over_Errors 0 Rx_CRC_Errors 0 Rx_Frame_Errors 0 Rx_FIFO_Errors 0 Rx_Missed_Errors 0 Tx_Aborted_Errors 0 Tx_Carrier_Errors 0 Tx_FIFO_Errors 0 Tx_Heartbeat_Errors 0 Tx_Window_Errors 0 Tx_Abort_Late_Coll 0 Tx_Deferred_Ok 0 Tx_Single_Coll_Ok 0 Tx_Multi_Coll_Ok 0 Rx_Long_Length_Errors 0 Rx_Short_Length_Errors 0 Rx_Align_Errors 0 Tx_TCP_Seg_Good 0 Tx_TCP_Seg_Failed 0 Rx_Flow_Control_XON 0 Rx_Flow_Control_XOFF 0 Tx_Flow_Control_XON 0 Tx_Flow_Control_XOFF 0 Rx_CSum_Offload_Good 0 Rx_CSum_Offload_Errors 0
PHY_Media_Type Copper PHY_Cable_Length Unknown PHY_Extended_10Base_T_Distance Unknown PHY_Cable_Polarity Unknown PHY_Disable_Polarity_Correction Unknown PHY_Idle_Errors 765 PHY_Receive_Errors 35114 PHY_MDI_X_Enabled Unknown PHY_Local_Receiver_Status Unknown PHY_Remote_Receiver_Status Unknown
#more /proc/cpuinfo
processor : 0vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) MP 1900+
stepping : 2
cpu MHz : 1600.068
cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : no
fpu : yesfpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3191.60
processor : 1vendor_id : AuthenticAMD
cpu family : 6
model : 6
model name : AMD Athlon(tm) Processor
stepping : 2
cpu MHz : 1600.068
cache size : 256 KBfdiv_bug : nohlt_bug : nof00f_bug : nocoma_bug : no
fpu : yesfpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 3198.15
Greetings,
Peter
On Tuesday 15 April 2003 12:10, Peter wrote:
Hi Peter,
Quoted 2 lines
Hello,
the following oops occurs repeatadly:
Does the attached patch fixes the problem?
Patch by: Scott Feldman <scott.feldman <located at> intel.com>
ciao, Marc
drivers/net/e1000/e1000_main.c renamed from drivers/net/e1000/e1000_main.c.orig +6 -0
@@ -963,6 +963,9 @@unsigned long size;int i; +if (!adapter->tx_ring.buffer_info) +return ; +/* Free all the Tx ring sk_buffs */ for (i =0 ; i < adapter->tx_ring.count; i++) {
@@ -1028,6 +1031,9 @@unsigned long size;int i; +if (!adapter->rx_ring.buffer_info) +return ; +/* Free all the Rx ring sk_buffs */ for (i =0 ; i < adapter->rx_ring.count; i++) {
Hello,
thanks for your quick response. Using your patch on the version 5.0.43 driver gives me:
patching file e1000_main.c
Hunk #1 succeeded at 1035 (offset 72 lines).
Hunk #2 succeeded at 1103 (offset 72 lines).
don't know if your patch can be used on this source?
Anyways, after doing "ifenslave -d bond0 eth1 eth2" I get:
wait_on_irq, CPU 0:
irq: 0 [ 0 0 ]
bh: 1 [ 0 1 ]
Stack dumps:
CPU 1:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000002 01000000 c1c18740 c1c18740 00000000 c1c18640 f7e9d2a0
c1c185c0 00000000 f5dc5520 00000000 00000000 00000000 00000003 00000000
Call Trace: [<c015b6ec>] [<c015b788>] [<c015b808>] [<c015b990>] [<c015ba08>]
[<c015ba64>] [<c015bd2c>] [<c015bd60>] [<c015bd94>] [<c015bdc8>] [<c015bdfc>]
[<c015be38>] [<c015be74>] [<c015bf20>] [<c015bf54>] [<c015beec>]CPU 0:f0cc7e64 c02beffd 00000000 00000000 00000000 c0109ffd c02bf012 f5de3ea0
00000001 bffff9a8 c01e59f1 bffff9a8 bffff9a8 f0ccbec0 000001ff 0b043b40
00000000 c01e5e01 f5de3ea0 bffff9a8 f0ee0000 bffff9a8 f0ccbec0 f0ee0000
Call Trace: [<c0109ffd>] [<c01e59f1>] [<c01e5e01>] [<c0116855>] [<c01d73e3>]
[<c0132ac8>] [<c0132ae9>] [<c0147a3a>] [<c0147d5f>] [<c0147d9a>] [<c01d4389>]
[<c0147007>] [<c01089f7>]wait_on_irq, CPU 0:
irq: 0 [ 0 0 ]
bh: 1 [ 0 1 ]
Stack dumps:
CPU 1:00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000002 01000000 c1c18740 c1c18740 00000000 c1c18640 f7e9d2a0
c1c185c0 00000000 f5dc5520 00000000 00000000 00000000 00000003 00000000
Call Trace: [<c015b6ec>] [<c015b788>] [<c015b808>] [<c015b990>] [<c015ba08>]
[<c015ba64>] [<c015bd2c>] [<c015bd60>] [<c015bd94>] [<c015bdc8>] [<c015bdfc>]
[<c015be38>] [<c015be74>] [<c015bf20>] [<c015bf54>] [<c015beec>]CPU 0:f0cc7e64 c02beffd 00000000 00000000 00000000 c0109ffd c02bf012 f5de3ea0
00000001 bffff9a8 c01e59f1 bffff9a8 bffff9a8 f0ccbec0 000001ff 0b043b40
00000000 c01e5e01 f5de3ea0 bffff9a8 f0ee0000 bffff9a8 f0ccbec0 f0ee0000
Call Trace: [<c0109ffd>] [<c01e59f1>] [<c01e5e01>] [<c0116855>] [<c01d73e3>]
[<c0132ac8>] [<c0132ae9>] [<c0147a3a>] [<c0147d5f>] [<c0147d9a>] [<c01d4389>]
[<c0147007>] [<c01089f7>]running ksymoops on this:
Warning (Oops_read): Code line not seen, dumping what data is available
Trace; c015b6ec <loadavg_read_proc+0/9c>
Trace; c015b788 <uptime_read_proc+0/80>
Trace; c015b808 <meminfo_read_proc+0/188>
Trace; c015b990 <version_read_proc+0/50>
Trace; c015ba08 <modules_read_proc+0/34>
Trace; c015ba64 <kstat_read_proc+0/2c8>
Trace; c015bd2c <devices_read_proc+0/34>
Trace; c015bd60 <interrupts_read_proc+0/34>
Trace; c015bd94 <filesystems_read_proc+0/34>
Trace; c015bdc8 <dma_read_proc+0/34>
Trace; c015bdfc <ioports_read_proc+0/3c>
Trace; c015be38 <cmdline_read_proc+0/3c>
Trace; c015be74 <locks_read_proc+0/78>
Trace; c015bf20 <swaps_read_proc+0/34>
Trace; c015bf54 <memory_read_proc+0/3c>
Trace; c015beec <execdomains_read_proc+0/34>
Trace; c0109ffd <__global_cli+bd/124>
Trace; c01e59f1 <get_modem_info+21/140>
Trace; c01e5e01 <rs_ioctl+8d/42c>
Trace; c0116855 <schedule+49d/560>
Trace; c01d73e3 <normal_poll+103/11f>
Trace; c0132ac8 <__free_pages+1c/20>
Trace; c0132ae9 <free_pages+1d/20>
Trace; c0147a3a <poll_freewait+3a/44>
Trace; c0147d5f <do_select+1eb/204>
Trace; c0147d9a <select_bits_free+a/10>
Trace; c01d4389 <tty_ioctl+371/3a8>
Trace; c0147007 <sys_ioctl+1bb/1f6>
Trace; c01089f7 <system_call+33/38>
Trace; c015b6ec <loadavg_read_proc+0/9c>
Trace; c015b788 <uptime_read_proc+0/80>
Trace; c015b808 <meminfo_read_proc+0/188>
Trace; c015b990 <version_read_proc+0/50>
Trace; c015ba08 <modules_read_proc+0/34>
Trace; c015ba64 <kstat_read_proc+0/2c8>
Trace; c015bd2c <devices_read_proc+0/34>
Trace; c015bd60 <interrupts_read_proc+0/34>
Trace; c015bd94 <filesystems_read_proc+0/34>
Trace; c015bdc8 <dma_read_proc+0/34>
Trace; c015bdfc <ioports_read_proc+0/3c>
Trace; c015be38 <cmdline_read_proc+0/3c>
Trace; c015be74 <locks_read_proc+0/78>
Trace; c015bf20 <swaps_read_proc+0/34>
Trace; c015bf54 <memory_read_proc+0/3c>
Trace; c015beec <execdomains_read_proc+0/34>
Trace; c0109ffd <__global_cli+bd/124>
Trace; c01e59f1 <get_modem_info+21/140>
Trace; c01e5e01 <rs_ioctl+8d/42c>
Trace; c0116855 <schedule+49d/560>
Trace; c01d73e3 <normal_poll+103/11f>
Trace; c0132ac8 <__free_pages+1c/20>
Trace; c0132ae9 <free_pages+1d/20>
Trace; c0147a3a <poll_freewait+3a/44>
Trace; c0147d5f <do_select+1eb/204>
Trace; c0147d9a <select_bits_free+a/10>
Trace; c01d4389 <tty_ioctl+371/3a8>
Trace; c0147007 <sys_ioctl+1bb/1f6>
Trace; c01089f7 <system_call+33/38>
2 warnings issued. Results may not be reliable.
Signature · 3 lines
Peter Kruse <[email protected]> Q-Leap Networks GmbH +497071-703171