*BSD News Article 3197


Return to BSD News archive

Xref: sserve comp.unix.bsd:3241 comp.bugs.4bsd:1870
Path: sserve!manuel!munnari.oz.au!spool.mu.edu!uwm.edu!wupost!cs.utexas.edu!lgc.com!lgc.com!danson
From: danson@lgc.com (Doug Anson)
Newsgroups: comp.unix.bsd,comp.bugs.4bsd
Subject: Re: 'ps aux' floating exception bug (386BSD)
Message-ID: <1992Aug7.154037.977@lgc.com>
Date: 7 Aug 92 15:40:37 GMT
Article-I.D.: lgc.1992Aug7.154037.977
References: <1992Aug7.125733.16779@agora.uucp>
Sender: usenet@lgc.com
Organization: LandMark Graphics Corporation LGC
Lines: 68
Nntp-Posting-Host: voodoo.lgc.com

In article <1992Aug7.125733.16779@agora.uucp>, davidg@agora.rain.com (David Greenman) writes:
|>    After a suggestion from Arne Henrik Juul <arnej@lise.unit.no>, I
|> decided to replace the stock libm.a with the 386 assembly version
|> that I ported from mach back when I was using 0.0. The problem with
|> 'ps aux' "Floating Point Exception" is now gone.
|>    I still don't know why the exception is reported so late when
|> using gdb, nor do I understand why the problem was intermittent. I
|> suspect that there is a bug somewhere in the kernel with the handling
|> of the FPU.
|>    I ran 'paranoia' with the supplied libm.a; here is what it
|> uncovered:
|> 
|> ...
|> Testing powers Z^i for small Integers Z and i.
|> DEFECT:  computing
|>         (2.00000000000000000e+00) ^ (3.00000000000000000e+00)
|>         yielded 7.99999999999281997e+00;
|>         which compared unequal to correct 8.00000000000000000e+00 ;
|>                 they differ by -7.18003434485581238e-12 .
|> Errors like this may invalidate financial calculations
|>         involving interest rates.
|> Similar discrepancies have occurred 121 times.
|> 
|> ...
|> 
|> Testing X^((X + 1) / (X - 1)) vs. exp(2) = 7.38905609893065218e+00 as X -> 1.
|> Accuracy seems adequate.
|> Testing powers Z^Q at four nearly extreme values.
|> DEFECT:  computing
|>         (2.00000000000000000e+00) ^ (1.00700000000000000e+03)
|>         yielded 1.37153101719718930e+303;
|>         which compared unequal to correct 1.37153101719842530e+303 ;
|>                 they differ by -1.23095497606496200e+291 .
|> Similar discrepancies have occurred 4 times.
|> 
|> ...
|> These problems don't occur when 'paranoia' is linked with the assembly
|> version of libm.a. While these two 'DEFECT's seem somewhat minor, they
|> may very well be indicative of a more serious problem.
|> I recall that someone else did a port of the GNU 386 libm.a a while
|> back...is this conveniently available somewhere, or would it be
|> prudent for me to make my port of this available?
|> 
|> ---
|> David Greenman
|> davidg%implode@agora.rain.com
|> 

Hi,

I have encountered the same problems with ps(1). I have recently installed
a 387-33 on my machine running 386BSD 0.1. I have successfully installed
0.1 and have the source on line. ps -aux gives Floating Exception when run.

Is there a fix for this?   How can I be sure 386BSD is really using my 387?
Where can I get the above mentioned library?

Thanks,
Doug
-- 
-------------------------------------------
Doug Anson					
Internet: danson@lgc.com			
Phone:	  713-579-4739
SNAIL:    Landmark Graphics Corporation LGC	
	  333 Cypress Run			
	  Houston, TX 77094			
-------------------------------------------