chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] ⍄PATCH⍃ Unboxing optimization for flonums


From: felix . winkelmann
Subject: Re: [Chicken-hackers] ⍄PATCH⍃ Unboxing optimization for flonums
Date: Sat, 01 Dec 2018 21:07:43 +0100

> Hi Felix,
>
> On Sat, 01 Dec 2018 08:42:40 +0100 address@hidden wrote:
>
> >> No problem.  Unfortunately, now "make check" breaks:
> >>
> >> Error: assertion failed: (eqv? (f32vector-ref old 6) (f32vector-ref new 0))
> >
> > Ouch. I'm running make check with something based on the current
> > HEAD all the time, on what platform is this?
>
> I initially got the error on a x86-64 system, but it looks that it is
> failing on all the salmonella machines (x86, x86-64 and arm64).  I also
> tested on my Raspberry Pi (arm) and it fails there as well.
>
> > Is the error consistently appearing?
>
> It happened all the times I ran "make check".
>
> What I use to reproduce the problem is:
>
> $ make PLATFORM=... PREFIX=... CHICKEN=/path/to/chicken-5.0.0/bin/chicken 
> spotless boot-chicken
> $ make PLATFORM=... PREFIX=... CHICKEN=./chicken-boot spotless install
> $ make PLATFORM=... PREFIX=... CHICKEN=./chicken-boot check
>
> (On the tip of chicken-core's master.)
>
> > If you comment out the f32vector test (lolevel-tests.scm), does the
> > f64vector test fail, too?
>
> I only tested that case on my x86-64 system, and it fails as well:
>
> Error: assertion failed: (eqv? (f64vector-ref old 6) (f64vector-ref new 0))
>
>         Call history:
>
>         <eval>    (=598 i596 7)
>         <eval>    (make-locative601 old593 i596)
>         <eval>    (make-locative601 new594 (|-603| 7 i596 1))
>         <eval>    (|-603| 7 i596 1)
>         <eval>    (locative?605 loc-src600)
>         <eval>    (locative?605 loc-dst602)
>         <eval>    (locative-set!606 loc-dst602 (locative-ref607 loc-src600))
>         <eval>    (locative-ref607 loc-src600)
>         <eval>    (doloop612 (add1597 i596))
>         <eval>    (add1597 i596)
>         <eval>    (=598 i596 7)
>         <eval>    (printf608 "\nold: ~S\nnew: ~S\n" old593 new594)
>         <eval>    (eqv?609 (f64vector-ref old593 6) (f64vector-ref new594 0))
>         <eval>    (f64vector-ref old593 6)
>         <eval>    (f64vector-ref new594 0)
>         <eval>    (##sys#error "assertion failed" (##core#quote (eqv? 
> (f64vector-ref old 6) (f64vector-ref new 0))))    <--
> rules.make:975: recipe for target 'check' failed
>
> > Is perhaps some float-equality-precision issue at work here?
>
> Keine Ahnung. :-)
>
> All the best.
> Mario
> --
> http://parenteses.org/mario




reply via email to

[Prev in Thread] Current Thread [Next in Thread]