Port-alpha archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 5.0 and perl SIGFPE




Ahoj Duck!

mine gives:

$ cat t.pl;perl t.pl
use strict;
use warnings;

my($val)=-1*(100**1000);
print("val: $val\n");
val: ---
$

? Have a look later and talk on irc.

eu.

On Tue, 25 May 2010, Staffan Thomén wrote:

I've been having a problem since installing netbsd 5.0 on my pc164, which is
that the following code makes perl die with a floating point exception:

-1*(100**1000)

(Yes, that is not a fragment, but all of it) which is a bit of a bummer since
it's used in a few packages to denote negative infinity (I found this because
scripts using XML-RSS caused crashes, and looking inside I saw that it used
DateTime which also crashed and DateTime had these huge constants.)
I've rebuilt all of pkgsrc on 5.0 since, and the problem persists.

From gdb I found only that it crashes in Perl_cast_uv(), perhaps I could build
perl with debugging symbols somehow.

just 100**1000 will not crash it, but if I add 1 _or subtract_ 1 it will.

I suspect this is netbsd (new fp behaivour?) rather than perl, so any insights
would be valuable. Friends testing on amd64 found no problem, but IIRC someone
mentioned the same issue on another alpha (no specs for that one).

Staffan

P.S. This is a production machine so I cannot test kernels.



--
 --
 Al Boyanich
 adb -w -P "world> " -k /dev/meta/galaxy/ksyms /dev/god/brain


Home | Main Index | Thread Index | Old Index