[Top][All Lists]

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

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

From: Mario Domenech Goulart
Subject: Re: [Chicken-hackers] ⍄PATCH⍃ Unboxing optimization for flonums
Date: Sat, 01 Dec 2018 18:52:57 +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.

reply via email to

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