develooper Front page | perl.perl5.porters | Postings from March 2003

RE: Problems with current snapshot on NCR SRV4

Thread Previous | Thread Next
From:
Green, Paul
Date:
March 30, 2003 12:03
Subject:
RE: Problems with current snapshot on NCR SRV4
Message ID:
A2A34F15EE916148BC4C4748223E67A403D99C85@exna4.stratus.com
t/op/pack.t is the same thing Stratus VOS failed on. That test depends on
the ability of the C runtime to silently ignore the IEEE floating-point
exception that arises when the following pseudo-C fragment is executed.
AFAIK this is the only place in the test suite that attempts to subtract two
infinite values. Maybe you are hitting the same problem.

Perl:  pack('w', Infinity);

C:    NV f, g, h;
	f = Infinity;
	g = Infinity;
	h = f - g;

The IEEE floating-point standard specifies that this operation produces an
exception. When I tested the code on Solaris/Sparc5, I got no exception and
a result of h=NaN.  Search for the 3rd instance of 'w' in pp_pack.t to find
the case statement that implements this particular pack operation. 

Feel free to piggy-back on my TODO test in t/op/pack.t, test 39, that Rafael
just added for me.  I discovered that we don't suppress the IEEE exception,
and so I've added a VOS suggestion so that we can fix our OS.

Thanks
PG
--
Paul Green, Senior Technical Consultant,
Stratus Technologies, Maynard, MA USA
Voice: +1 978-461-7557; FAX: +1 978-461-3610
Speaking from Stratus not for Stratus





> -----Original Message-----
> From: Nicholas Clark [mailto:nick@unfortu.net]
> Sent: Saturday, March 29, 2003 6:59 PM
> To: John Adams
> Cc: perl5-porters@perl.org
> Subject: Re: Problems with current snapshot on NCR SRV4
> 
> 
> On Fri, Mar 28, 2003 at 04:31:18PM -0500, John Adams wrote:
> > Hi, folks,
> > 
> > Here's what I'm seeing when I run harness:
> > 
> > Failed 4/764 test scripts, 99.48% okay. 67/70149 subtests 
> failed, 99.90% okay.
> > Failed Test                Stat Wstat Total Fail  Failed  
> List of Failed
> > 
> --------------------------------------------------------------
> -----------------
> > ../ext/Socket/socketpair.t    0     2    45   35  77.78%  11-45
> > ../ext/Time/HiRes/HiRes.t     0     9    25   19  76.00%  7-25
> > io/argv.t                   255 65280    22   12  54.55%  11-22
> > op/pack.t                              5849    1   0.02%  39
> > 53 tests and 433 subtests skipped.
> > 
> > I'm pretty sure the HiRes failure has to do with the -lc89 
> library but, not being a deep C guy, I'm up a tree for fixing it.
> > 
> > Any thoughts?
> 
> 1: What is NCR SRV4 ? :-)
> 
> 2: Could you run ext/Socket/socketpair.t by hand to capture 
> the diagnostic
>    output?
> 
> 3: Could you run t/op/pack.t to capture the interesting 
> output? It's best to
>    run
>    ./perl t/op/pack.t | grep -v^ok
>    to get rid of almost 6000 lines of "ok", which aren't very 
> interesting.
>    pack.t also produces some diagnostic output, which might 
> reveal where it's
>    going wrong.
> 
> I don't know about HiRes.t or io/argv.t
> 
> Nicholas Clark
> 

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About