[2.2.8] Division by zero in TCP v4 Code.

Oleg Drokin (green@ccssu.crimea.ua)
Thu, 13 May 1999 16:07:18 +0400


Hello!

I was hit by a problem this night.
My router halted several times with 'division by zero' message like this
one (decoded). I hope this info can help to nail this problem.
Sadto say but I failed to find any divisions in tcp_v4_err() body.

CPU: 0
EIP: 0010:[<c0161b03>]
EFLAGS: 0000:10246
eax: 00000000 ebx: c1ed05c0 ecx: 00000001 edx: 00000000
esi: c1ed0670 edi: 0000000b ebp: 7f653270 esp: c01c7e80
ds: 0018 es: 0018 ss:0018
Process swapper (pid: 0, process nr: 0, stackpage=c01c7000)
Stack: 00000006 c0e54480 00000007 005032a4 c0169682 c0004020 c01c7eb4 00000000
0000000b c0e50050 00000001 00000000 00000004 c036c844 c036c830 c029e180
c016651b c0e54480 c036c830 0000001c c01b001c c036c828 c0e54480 c3800d60
Call Trace: [<c0169682>] [<c016651b>] [<c01b001c>] [<c01667ad>] [<c0155e84>] [<c015613c>] [<c014de74>]
[<c0116c6d>] [<c010fd65>] [<c0107085>] [<c010708d>] [<c0106000>] [<c01070a8>] [<c0108874>] [<c0106000>]
[<c010607b>] [<c0106000>] [<c0100177>]
Code: f7 74 24 24 89 c1 8b 56 4c 39 d1 76 02 89 d1 89 ca c1 fa 01

>>EIP: c0161b03 <tcp_v4_err+23b/44c>
Trace: c0169682 <inet_addr_type+66/90>
Trace: c016651b <icmp_unreach+19b/1ac>
Trace: c01b001c <__start___ex_table+54c/be0>
Trace: c01667ad <icmp_rcv+99/c4>
Trace: c0155e84 <ip_local_deliver+138/18c>
Trace: c015613c <ip_rcv+264/298>
Trace: c014de74 <net_bh+16c/1cc>
Trace: c0116c6d <do_bottom_half+49/64>
Trace: c010607b <cpu_idle+7/18>
Code: c0161b03 <tcp_v4_err+23b/44c> 00000000 <_EIP>: <===
Code: c0161b03 <tcp_v4_err+23b/44c> 0: f7 74 24 24 divl 0x24(%esp,1),%eax <===
Code: c0161b07 <tcp_v4_err+23f/44c> 4: 89 c1 movl %eax,%ecx
Code: c0161b09 <tcp_v4_err+241/44c> 6: 8b 56 4c movl 0x4c(%esi),%edx
Code: c0161b0c <tcp_v4_err+244/44c> 9: 39 d1 cmpl %edx,%ecx
Code: c0161b0e <tcp_v4_err+246/44c> b: 76 02 jbe c0161b12 <tcp_v4_err+24a/44c>
Code: c0161b10 <tcp_v4_err+248/44c> d: 89 d1 movl %edx,%ecx
Code: c0161b12 <tcp_v4_err+24a/44c> f: 89 ca movl %ecx,%edx
Code: c0161b14 <tcp_v4_err+24c/44c> 11: c1 fa 01 sarl $0x1,%edx

Aiee, killing interrupt handler
In swapper task - not syncing

Bye,
Oleg

-
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/