[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.
Mario
--
http://parenteses.org/mario