Opened 11 years ago
Closed 11 years ago
#1062 closed defect (fixed)
make check on windows: assertion failed: (equal? 1.0 (numerator 0.0))
Reported by: | Mario Domenech Goulart | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 4.9.0 |
Component: | core libraries | Version: | 4.8.x |
Keywords: | windows | Cc: | |
Estimated difficulty: |
Description
======================================== library tests ... Error: assertion failed: (equal? 1.0 (numerator 0.0)) Call history: <syntax> (##core#undefined) <syntax> (##sys#error "assertion failed" (##core#quote (equal? +inf.0 (denominator 0.0)))) <syntax> (##core#quote (equal? +inf.0 (denominator 0.0))) <eval> (equal? +inf.0 (denominator 0.0)) <eval> (denominator 0.0) <syntax> (assert (equal? 1.0 (numerator 0.0))) <syntax> (##core#if (##core#check (equal? 1.0 (numerator 0.0))) (##core#undefined) (##sys#error "assertion fa... <syntax> (##core#check (equal? 1.0 (numerator 0.0))) <syntax> (equal? 1.0 (numerator 0.0)) <syntax> (numerator 0.0) <syntax> (##core#undefined) <syntax> (##sys#error "assertion failed" (##core#quote (equal? 1.0 (numerator 0.0)))) <syntax> (##core#quote (equal? 1.0 (numerator 0.0))) <eval> (equal? 1.0 (numerator 0.0)) <eval> (numerator 0.0) <eval> (##sys#error "assertion failed" (##core#quote (equal? 1.0 (numerator 0.0)))) <-- make[1]: *** [check] Error 70 make[1]: Leaving directory `c:/src/chicken-core' make: *** [check] Error 2
(c) 2008-2013, The Chicken Team (c) 2000-2007, Felix L. Winkelmann Version 4.8.3 (rev b663e07) windows-mingw32-x86 [ manyargs dload ptables ] compiled 2013-11-09 on foobar (MINGW32_NT-5.1)
Change History (6)
comment:1 Changed 11 years ago by
comment:3 Changed 11 years ago by
If we fix this, we should probably restore the commented-out test as well.
comment:4 Changed 11 years ago by
Bug also seems to exist in mingw-w64 (which is apparently the maintained version of mingw)
comment:5 Changed 11 years ago by
Mingw-w64 bugreport: http://sourceforge.net/p/mingw-w64/bugs/367/
comment:6 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
"fixed" by disabling the tests in changeset c368462. Properly trying to fix all broken systems is a rabbit-hole that goes too deep; for example iOS even sets a hardware flag on the FPU to treat denormalised floating-point numbers as zero. There may be more OS/CPU combinations that do similarly fubar things. Our industry's madness knows no limits.
Note: See
TracTickets for help on using
tickets.
This seems to be caused by a bug in MingW's fpclassify():
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56404
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56397
So far I haven't found anything in the mingw bug database relating to this