# New Ticket Created by  Ron Schmidt 
# Please include the string:  [perl #100136]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=100136 >


If you look at the smolder reports, for example 
http://smolder.parrot.org/app/projects/report_details/23389, you will 
notice that for recent i386 reports 
t/spec/S02-types/instants-and-durations.t and t/spec/S32-temporal/Date.t 
are failing.  On my two i386 machines

./perl6 -e 'my $x = now'

was hanging.

The term "now" is defined in src/core/Instant.pm and depends on the 
class Instant which has an attribute $.x of type Rat.

The now term is supposed to return the result of
     Instant.from-posix: pir::time__n

As an experiment I printed the value of pir::time__n and changed that 
line to read

     Instant.from-posix: 1316635008.75301.Rat;

Now compilation failed with an error: "no bigint lib loaded"

As another experiment I set the code for the now term back to the 
original code and hacked

     has Rat $.x;
to
     has Real $.x;

and also hacked

     method new($x) { self.bless: *, x => $x.Rat }
to
     method new($x) { self.bless: *, x => $x.Real }

Now 'my $x = now' stopped hanging and the two tests ran successfully on 
the i386/32 bit ubuntu machine I used to work on this problem.

There is probably some good reason that the Instant class was using a 
Rational to hold the current time and I note the hack as useful 
diagnostic tool and expect that it is very unlikely to be a good fix for 
the problem.

Hope this helps,
Ron


Reply via email to