divide by zero / segmentation fault

divide by zero / segmentation fault

Post by gamar.. » Mon, 02 Dec 1996 04:00:00



Software: Slackware 3.1
Hardware: AMD K5 75 MHz, Triton motherboard, NE 2000 clone, IDE

Problem: Networking works fine for everything from ping to httpd server;
however, after a period of inactivity of somewhere from 1 hour to
several
days every networking function stops working, even ping, and produces a
divide by zero / segmentation fault error.  Killing inetd and restarting
it does not solve the problem.

Here is the entry the kernel writes to syslog after an error:

divide error: 0000
CPU:    0
IP:    0010:[get_cpuinfo+190/440]
EFLAGS: 00010046
eax: 00000000   ebx: 0f6bdee9   ecx: 00001e5a   edx: 000026f8
esi: 9728c179   edi: 00000000   ebp: 00000604   esp: 001ac61c
ds: 0018   es: 0018   fs: 002b   gs: 0018   ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage=001aa79c)
Stack: 001ac660 00000246 00252e30 0010ed56 01b0dc00 00252e14
0014378e                      001ac660 001af128 00252e00 00252e30
00000000 00252df2 00002e34        00196552 b3bafdcc 00250018 32a200ff
000927d9 0013ce77 00252e30        001b9260 00000000 b3bafdcc
Call Trace: [get_cpuinfo+434/440] [tcp_connect+742/1072]
            [SHATransform+1050/6796] [rt_del+103/396]
            [sys_getsockopt+84/112] [sys_adjtimex+863/868]
            [do_signal+95/612] [init+416/828] [do_signal+214/612]
            [do_shell+116/196] [start_kernel+323/416]
            [sys_getitimer+32/100]
Code: f7 f1 a3 bc a0 1a 00 89 c3 0f 31 31 d2 29 f0 f7 e3 81 fa f7
Aiee, killing interrupt handler
kfree of non-kmalloced memory: 001ac7e4, next=00000000, order=0
kfree of non-kmalloced memory: 001ac7d4, next=00000000, order=0
kfree of non-kmalloced memory: 001acc08, next=00000000, order=0
idle task may not sleep

The segmentation fault message does not appear in the syslog but does
appear on the screen.

I turned off all power management features in the BIOS and used
setterm -blank 0 to turn off screen saving, however that did not solve
the problem.

Another poster experienced a similar problem, and the only apparent
similarities are Slackware and AMD K5 CPU.

Any of you gurus have any suggestions for fixes or even further
diagnosis?  I'm stuck.

                                                Greg Martin

 
 
 

divide by zero / segmentation fault

Post by Albert D. Cahal » Tue, 03 Dec 1996 04:00:00



> Software: Slackware 3.1
> Hardware: AMD K5 75 MHz, Triton motherboard, NE 2000 clone, IDE
> Problem: Networking works fine for everything from ping to httpd
> server; however, after a period of inactivity of somewhere from
> 1 hour to several days every networking function stops working,
> even ping, and produces a divide by zero / segmentation fault error.
> Killing inetd and restarting it does not solve the problem.
> I turned off all power management features in the BIOS and used
> setterm -blank 0 to turn off screen saving, however that did not
> solve the problem.

> Another poster experienced a similar problem, and the only apparent
> similarities are Slackware and AMD K5 CPU.

You have a buggy CPU.

Quick fix: compile the kernel with APM support, which will "fix" the
problem as a nice side effect.

In Linux 2.0.25+, the AMD CPU is detected and reconfigured to
behave more like a Pentium. Get Linux 2.0.27, which is the latest
stable kernel.
--
--
Albert Cahalan
acahalan at cs.uml.edu (no junk mail please - I will hunt you down)

 
 
 

divide by zero / segmentation fault

Post by Your Na » Wed, 04 Dec 1996 04:00:00


I'd be willing to bet that if you popped a real INTEL CPU in there
the problem would mysteriously vanish! :)

>Software: Slackware 3.1
>Hardware: AMD K5 75 MHz, Triton motherboard, NE 2000 clone, IDE

>Problem: Networking works fine for everything from ping to httpd server;
>however, after a period of inactivity of somewhere from 1 hour to
>several
>days every networking function stops working, even ping, and produces a
>divide by zero / segmentation fault error.  Killing inetd and restarting
>it does not solve the problem.

>Here is the entry the kernel writes to syslog after an error:

>divide error: 0000
>CPU:    0
>IP:    0010:[get_cpuinfo+190/440]
>EFLAGS: 00010046
>eax: 00000000   ebx: 0f6bdee9   ecx: 00001e5a   edx: 000026f8
>esi: 9728c179   edi: 00000000   ebp: 00000604   esp: 001ac61c
>ds: 0018   es: 0018   fs: 002b   gs: 0018   ss: 0018
>Process swapper (pid: 0, process nr: 0, stackpage=001aa79c)
>Stack: 001ac660 00000246 00252e30 0010ed56 01b0dc00 00252e14
>0014378e                      001ac660 001af128 00252e00 00252e30
>00000000 00252df2 00002e34        00196552 b3bafdcc 00250018 32a200ff
>000927d9 0013ce77 00252e30        001b9260 00000000 b3bafdcc
>Call Trace: [get_cpuinfo+434/440] [tcp_connect+742/1072]
>            [SHATransform+1050/6796] [rt_del+103/396]
>            [sys_getsockopt+84/112] [sys_adjtimex+863/868]
>            [do_signal+95/612] [init+416/828] [do_signal+214/612]
>            [do_shell+116/196] [start_kernel+323/416]
>            [sys_getitimer+32/100]
>Code: f7 f1 a3 bc a0 1a 00 89 c3 0f 31 31 d2 29 f0 f7 e3 81 fa f7
>Aiee, killing interrupt handler
>kfree of non-kmalloced memory: 001ac7e4, next=00000000, order=0
>kfree of non-kmalloced memory: 001ac7d4, next=00000000, order=0
>kfree of non-kmalloced memory: 001acc08, next=00000000, order=0
>idle task may not sleep

>The segmentation fault message does not appear in the syslog but does
>appear on the screen.

>I turned off all power management features in the BIOS and used
>setterm -blank 0 to turn off screen saving, however that did not solve
>the problem.

>Another poster experienced a similar problem, and the only apparent
>similarities are Slackware and AMD K5 CPU.

>Any of you gurus have any suggestions for fixes or even further
>diagnosis?  I'm stuck.

>                                                Greg Martin


 
 
 

1. PPP 'Divide Error', 'Segmentation Fault'

Ok, now I can connect to my ISP with no problems.  The only glitch now
is that If I leave the connection idle (sometimes it dosen't even have
to sit idle) for a few minutes I get:

Divide Error
{lots of other junk, registor values, etc}
Segmentation Fault.

Then any time I use a related command like ping, ftp, telnet, etc. I
also get a divide error.  I have to reboot in order to establish
another connection.

Here is what I have tried to resolve the issue. Using Slackware 3.1

1. Recompiled Kernel 2.0.0
2. Upgraded and compiled Kernel 2.0.13
3. Upgraded procps from .99 to 1.01

Any other ideas.

I've read something about using a newer version of net-tools but I'm
not sure what version I have. Also is there much difference between
pppd v2.2.0 and pppd v2.2.0f?  I seem to be using v2.2.0 but not sure
of the difference.

Thanks!
                Andy    



2. Delete a tree

3. gcc (/dev/zero problems & Segmentation fault)

4. RH5.2 and apache

5. New: Divide by zero (/proc/sys/net/ipv4/neigh/DEV/base_reachable_time)

6. IPv6 module oopsing on 2.5.69

7. catching integer divide by zero in C code

8. binopt / studio11 / sol10_sparc

9. divide by zero exception

10. sched: integer divide zero trap:

11. WABI 2.0 divide-by-zero Error?

12. Linux Divide by zero error when running "ps u" 1.3.77

13. Divide by zero error on bootup?!