idris-lang / Idris2

A purely functional programming language with first class types
https://idris-lang.org/
Other
2.51k stars 374 forks source link

Test failures on x86 #1617

Open nmeum opened 3 years ago

nmeum commented 3 years ago

Hey, I maintain an idris2 package for Alpine Linux which uses musl libc. With the recent release of 0.4.0 I was able to enable the test suite on x86_64. While doing so, I noticed that the test suite fails on x86 while it passes fine on x86_64. On x86, the test cases refc/buffer and refc/integers fail. I am not sure if you officially support 32 bit architecture, if not feel free to close this issue.

The make bootstrap-test output on Alpine Linux Edge x86 looks as follows:

NOTE: `make test` does not rebuild Idris or the libraries packaged with it; to do that run `make`

make[2]: Entering directory '/builds/alpine/aports/testing/idris2/src/Idris2-0.4.0/tests'
./build/exec/runtests /builds/alpine/aports/testing/idris2/src/Idris2-0.4.0/build/exec/idris2  --timing --failure-file failures --threads 48 --only 

------------------------------------------------------------------------
TTImp
------------------------------------------------------------------------

ttimp/basic002: success                            00.559s
ttimp/eta002: success                              00.564s
ttimp/qtt003: success                              00.582s
ttimp/qtt001: success                              00.582s
ttimp/basic004: success                            00.584s
ttimp/total003: success                            00.620s
ttimp/nest001: success                             00.659s
ttimp/basic005: success                            00.665s
ttimp/basic006: success                            00.673s
ttimp/nest002: success                             00.680s
ttimp/record002: success                           00.686s
ttimp/coverage002: success                         00.703s
ttimp/eta001: success                              00.726s
ttimp/perf001: success                             00.746s
ttimp/perf003: success                             00.788s
ttimp/total001: success                            00.794s
ttimp/total002: success                            00.808s
ttimp/perf002: success                             00.889s
ttimp/record003: success                           01.570s
ttimp/basic003: success                            01.154s
ttimp/basic001: success                            01.293s
ttimp/record001: success                           01.339s
ttimp/coverage001: success                         01.696s
ttimp/lazy001: success                             01.772s
ttimp/dot001: success                              02.277s

------------------------------------------------------------------------
Fundamental language features
------------------------------------------------------------------------

idris2/basic005: success                           00.968s
idris2/basic030: success                           01.580s
idris2/basic014: success                           01.680s
idris2/basic031: success                           01.790s
idris2/basic018: success                           01.820s
idris2/basic034: success                           01.890s
idris2/basic010: success                           01.123s
idris2/basic009: success                           01.235s
idris2/basic041: success                           01.380s
idris2/basic004: success                           01.386s
idris2/basic008: success                           01.400s
idris2/basic001: success                           01.415s
idris2/basic033: success                           01.415s
idris2/basic006: success                           01.418s
idris2/basic026: success                           01.451s
idris2/basic002: success                           01.471s
idris2/basic021: success                           01.479s
idris2/basic049: success                           01.478s
idris2/basic013: success                           01.499s
idris2/basic022: success                           01.500s
idris2/basic028: success                           01.503s
idris2/basic007: success                           01.516s
idris2/basic039: success                           01.527s
idris2/basic019: success                           01.540s
idris2/basic012: success                           01.555s
idris2/basic015: success                           01.556s
idris2/basic045: success                           01.560s
idris2/basic040: success                           01.571s
idris2/basic027: success                           01.588s
idris2/basic017: success                           01.640s
idris2/basic038: success                           01.664s
idris2/basic047: success                           01.751s
idris2/basic003: success                           01.804s
idris2/basic016: success                           01.812s
idris2/basic023: success                           01.957s
idris2/basic024: success                           01.970s
idris2/basic036: success                           01.998s
idris2/basic035: success                           02.130s
idris2/basic029: success                           02.220s
idris2/basic046: success                           02.700s
idris2/basic020: success                           02.150s
idris2/basic037: success                           02.176s
idris2/basic025: success                           02.341s
idris2/basic044: success                           02.384s
idris2/basic032: success                           02.539s
idris2/basic043: success                           02.627s
idris2/basic011: success                           02.669s
idris2/basic042: success                           03.699s
idris2/basic059: success                           00.852s
idris2/basic057: success                           00.893s
idris2/basic051: success                           00.893s
idris2/basic054: success                           01.000s
idris2/basic052: success                           01.100s
idris2/basic056: success                           01.600s
idris2/basic053: success                           01.800s
idris2/basic050: success                           01.297s
idris2/basic061: success                           01.598s
idris2/basic060: success                           01.732s
idris2/basic058: success                           01.733s
idris2/basic055: success                           01.772s

------------------------------------------------------------------------
Coverage checking
------------------------------------------------------------------------

idris2/coverage014: success                        00.631s
idris2/coverage003: success                        00.656s
idris2/coverage004: success                        00.702s
idris2/coverage007: success                        00.778s
idris2/coverage009: success                        00.854s
idris2/coverage010: success                        00.901s
idris2/coverage006: success                        00.937s
idris2/coverage008: success                        00.946s
idris2/coverage011: success                        00.955s
idris2/coverage002: success                        00.957s
idris2/coverage005: success                        00.970s
idris2/coverage001: success                        00.982s
idris2/coverage017: success                        01.100s
idris2/coverage012: success                        01.180s
idris2/coverage013: success                        01.212s
idris2/coverage015: success                        01.278s
idris2/coverage016: success                        01.552s

------------------------------------------------------------------------
Case tree building
------------------------------------------------------------------------

idris2/casetree001: success                        01.369s

------------------------------------------------------------------------
Error messages
------------------------------------------------------------------------

idris2/perror004: success                          00.496s
idris2/perror001: success                          00.500s
idris2/perror002: success                          00.507s
idris2/perror005: success                          00.509s
idris2/error009: success                           00.572s
idris2/error008: success                           00.574s
idris2/error012: success                           00.587s
idris2/error011: success                           00.630s
idris2/error007: success                           00.630s
idris2/error019: success                           00.632s
idris2/error010: success                           00.636s
idris2/error014: success                           00.639s
idris2/error003: success                           00.640s
idris2/error013: success                           00.654s
idris2/error006: success                           00.665s
idris2/perror006: success                          00.692s
idris2/error001: success                           00.766s
idris2/error005: success                           00.768s
idris2/error015: success                           00.811s
idris2/perror003: success                          00.933s
idris2/error002: success                           01.240s
idris2/error004: success                           01.227s
idris2/error017: success                           01.466s
idris2/error016: success                           02.241s
idris2/error018: success                           02.364s
idris2/perror008: success                          03.434s
idris2/perror007: success                          05.679s

------------------------------------------------------------------------
Warnings
------------------------------------------------------------------------

idris2/warning001: success                         04.176s

------------------------------------------------------------------------
Interactive editing
------------------------------------------------------------------------

idris2/interactive030: success                     00.913s
idris2/interactive001: success                     00.972s
idris2/interactive008: success                     00.998s
idris2/interactive029: success                     01.200s
idris2/interactive013: success                     01.230s
idris2/interactive011: success                     01.240s
idris2/interactive004: success                     01.240s
idris2/interactive031: success                     01.410s
idris2/interactive021: success                     01.540s
idris2/interactive027: success                     01.550s
idris2/interactive017: success                     01.830s
idris2/interactive033: success                     01.227s
idris2/interactive028: success                     01.270s
idris2/interactive024: success                     01.300s
idris2/interactive012: success                     01.302s
idris2/interactive006: success                     01.310s
idris2/interactive026: success                     01.319s
idris2/interactive002: success                     01.327s
idris2/interactive025: success                     01.332s
idris2/interactive020: success                     01.332s
idris2/interactive014: success                     01.334s
idris2/interactive023: success                     01.334s
idris2/interactive022: success                     01.341s
idris2/interactive010: success                     01.343s
idris2/interactive032: success                     01.344s
idris2/interactive035: success                     01.350s
idris2/interactive007: success                     01.360s
idris2/interactive009: success                     01.403s
idris2/interactive018: success                     01.627s
idris2/interactive015: success                     01.643s
idris2/interactive005: success                     01.856s
idris2/interactive019: success                     01.911s
idris2/interactive034: success                     02.121s
idris2/interactive003: success                     02.132s
idris2/interactive016: success                     02.800s

------------------------------------------------------------------------
Interface
------------------------------------------------------------------------

idris2/interface016: success                       00.629s
idris2/interface019: success                       00.635s
idris2/interface013: success                       00.642s
idris2/interface002: success                       00.720s
idris2/interface008: success                       00.839s
idris2/interface015: success                       00.853s
idris2/interface026: success                       00.903s
idris2/interface020: success                       00.944s
idris2/interface021: success                       00.955s
idris2/interface009: success                       00.960s
idris2/interface003: success                       00.963s
idris2/interface010: success                       00.966s
idris2/interface014: success                       00.978s
idris2/interface011: success                       00.981s
idris2/interface025: success                       01.120s
idris2/interface007: success                       01.170s
idris2/interface012: success                       01.170s
idris2/interface017: success                       01.146s
idris2/interface005: success                       01.187s
idris2/interface024: success                       01.305s
idris2/interface004: success                       01.342s
idris2/interface006: success                       01.347s
idris2/interface023: success                       01.525s
idris2/interface022: success                       01.555s
idris2/interface001: success                       01.780s
idris2/interface018: success                       03.175s

------------------------------------------------------------------------
Literate programming
------------------------------------------------------------------------

idris2/literate004: success                        00.876s
idris2/literate001: success                        00.897s
idris2/literate014: success                        00.905s
idris2/literate010: success                        00.907s
idris2/literate006: success                        00.920s
idris2/literate015: success                        00.930s
idris2/literate016: success                        00.930s
idris2/literate012: success                        00.933s
idris2/literate005: success                        00.952s
idris2/literate008: success                        00.965s
idris2/literate011: success                        00.971s
idris2/literate009: success                        01.190s
idris2/literate003: success                        01.451s
idris2/literate013: success                        01.701s
idris2/literate002: success                        01.785s
idris2/literate007: success                        01.874s

------------------------------------------------------------------------
Quantities
------------------------------------------------------------------------

idris2/linear007: success                          00.606s
idris2/linear001: success                          00.648s
idris2/linear002: success                          00.666s
idris2/linear003: success                          00.681s
idris2/linear014: success                          00.860s
idris2/linear006: success                          00.869s
idris2/linear012: success                          00.874s
idris2/linear013: success                          00.899s
idris2/linear009: success                          00.922s
idris2/linear010: success                          00.950s
idris2/linear011: success                          00.955s
idris2/linear008: success                          00.967s
idris2/linear005: success                          00.970s

------------------------------------------------------------------------
Performance
------------------------------------------------------------------------

idris2/perf003: success                            00.892s
idris2/perf004: success                            00.929s
idris2/perf007: success                            00.934s
idris2/perf002: success                            01.750s
idris2/perf001: success                            01.395s
idris2/perf005: success                            01.990s
idris2/perf008: success                            03.228s

------------------------------------------------------------------------
Various regressions
------------------------------------------------------------------------

idris2/reg040: success                             00.646s
idris2/reg019: success                             00.653s
idris2/reg023: success                             00.668s
idris2/reg013: success                             00.906s
idris2/reg039: success                             01.150s
idris2/reg041: success                             01.140s
idris2/reg017: success                             01.150s
idris2/reg026: success                             01.160s
idris2/reg021: success                             01.240s
idris2/reg005: success                             01.320s
idris2/reg007: success                             01.360s
idris2/reg034: success                             01.460s
idris2/reg015: success                             01.560s
idris2/reg043: success                             01.119s
idris2/reg028: success                             01.233s
idris2/reg032: success                             01.260s
idris2/reg004: success                             01.328s
idris2/reg012: success                             01.335s
idris2/reg035: success                             01.338s
idris2/reg025: success                             01.354s
idris2/reg006: success                             01.372s
idris2/reg037: success                             01.377s
idris2/reg016: success                             01.381s
idris2/reg031: success                             01.383s
idris2/reg014: success                             01.384s
idris2/reg029: success                             01.388s
idris2/reg022: success                             01.401s
idris2/reg002: success                             01.401s
idris2/reg011: success                             01.405s
idris2/reg024: success                             01.409s
idris2/reg042: success                             01.420s
idris2/reg009: success                             01.436s
idris2/reg036: success                             01.436s
idris2/reg010: success                             01.437s
idris2/reg020: success                             01.470s
idris2/reg030: success                             01.473s
idris2/reg001: success                             01.474s
idris2/reg027: success                             01.479s
idris2/reg038: success                             01.537s
idris2/reg018: success                             01.541s
idris2/reg008: success                             01.630s
idris2/reg033: success                             01.815s
idris2/reg003: success                             01.894s

------------------------------------------------------------------------
Data and record types
------------------------------------------------------------------------

idris2/record008: success                          00.848s
idris2/record007: success                          00.869s
idris2/record003: success                          00.896s
idris2/data001: success                            00.930s
idris2/record005: success                          00.994s
idris2/record006: success                          01.600s
idris2/record001: success                          01.243s
idris2/record002: success                          01.478s
idris2/record004: success                          03.156s

------------------------------------------------------------------------
Builtin types and functions
------------------------------------------------------------------------

idris2/builtin002: success                         00.644s
idris2/builtin008: success                         00.649s
idris2/builtin004: success                         00.671s
idris2/builtin010: success                         00.686s
idris2/builtin006: success                         00.738s
idris2/builtin005: success                         00.839s
idris2/builtin003: success                         00.849s
idris2/builtin001: success                         00.891s
idris2/builtin007: success                         00.923s
idris2/builtin009: success                         01.690s
idris2/builtin011: success                         01.850s

------------------------------------------------------------------------
Evaluation
------------------------------------------------------------------------

idris2/interpreter002: success                     00.663s
idris2/evaluator001: success                       00.888s
idris2/interpreter001: success                     00.914s
idris2/interpreter005: success                     00.943s
idris2/evaluator002: success                       01.530s
idris2/interpreter007: success                     01.198s
idris2/evaluator003: success                       01.650s
idris2/interpreter003: success                     01.743s
idris2/interpreter006: success                     01.966s
idris2/interpreter004: success                     03.887s

------------------------------------------------------------------------
Misc
------------------------------------------------------------------------

idris2/total008: success                           01.107s
idris2/total007: success                           01.120s
idris2/reflection006: success                      01.139s
idris2/pkg009: success                             01.208s
idris2/pkg008: success                             01.213s
idris2/pkg010: success                             01.217s
idris2/lazy001: success                            01.222s
idris2/pkg001: success                             01.236s
idris2/reflection003: success                      01.371s
idris2/import002: success                          01.436s
idris2/docs001: success                            01.448s
idris2/positivity002: success                      01.453s
idris2/params002: success                          01.463s
idris2/import004: success                          01.465s
idris2/total002: success                           01.468s
idris2/total005: success                           01.531s
idris2/positivity003: success                      01.537s
idris2/eta001: success                             01.545s
idris2/positivity001: success                      01.545s
idris2/total010: success                           01.544s
idris2/reflection005: success                      01.549s
idris2/total003: success                           01.559s
idris2/total009: success                           01.570s
idris2/total001: success                           01.571s
idris2/pkg002: success                             01.617s
idris2/total006: success                           01.639s
idris2/reflection007: success                      01.655s
idris2/total004: success                           01.710s
idris2/reflection009: success                      01.787s
idris2/docs003: success                            01.818s
idris2/docs002: success                            01.831s
idris2/lazy002: success                            01.832s
idris2/reflection008: success                      01.954s
idris2/reflection002: success                      02.300s
idris2/reflection001: success                      02.250s
idris2/params001: success                          02.133s
idris2/real001: success                            02.139s
idris2/pkg004: success                             02.185s
idris2/namespace001: success                       02.218s
idris2/reflection004: success                      02.272s
idris2/import005: success                          02.296s
idris2/import003: success                          02.447s
idris2/pkg006: success                             02.999s
idris2/pkg005: success                             03.500s
idris2/real002: success                            03.259s
idris2/pkg007: success                             03.395s
idris2/pkg003: success                             04.273s
idris2/import001: success                          04.470s
idris2/pretty001: success                          00.867s
idris2/with002: success                            00.871s
idris2/with001: success                            00.901s
idris2/with005: success                            01.718s
idris2/with004: success                            01.781s
idris2/with003: success                            02.380s

------------------------------------------------------------------------
Type Driven Development
------------------------------------------------------------------------

typedd-book/chapter03: success                     01.402s
typedd-book/chapter07: success                     01.472s
typedd-book/chapter02: success                     01.505s
typedd-book/chapter09: success                     01.520s
typedd-book/chapter13: success                     01.660s
typedd-book/chapter05: success                     01.668s
typedd-book/chapter06: success                     01.669s
typedd-book/chapter08: success                     01.673s
typedd-book/chapter04: success                     01.739s
typedd-book/chapter14: success                     01.761s
typedd-book/chapter01: success                     01.899s
typedd-book/chapter12: success                     02.920s
typedd-book/chapter11: success                     02.111s
typedd-book/chapter10: success                     02.310s

------------------------------------------------------------------------
IDE mode
------------------------------------------------------------------------

ideMode/ideMode004: success                        00.835s
ideMode/ideMode003: success                        00.934s
ideMode/ideMode001: success                        01.141s
ideMode/ideMode002: success                        01.224s
ideMode/ideMode005: success                        15.411s

------------------------------------------------------------------------
Prelude library
------------------------------------------------------------------------

prelude/reg001: success                            00.828s

------------------------------------------------------------------------
Base library
✓ Found Chez at /usr/bin/chez
✗ node not found
------------------------------------------------------------------------

------------------------------------------------------------------------
Contrib library
✓ Found Chez at /usr/bin/chez
✗ node not found
------------------------------------------------------------------------

------------------------------------------------------------------------
Chez backend
✓ Found Chez at /usr/bin/chez
------------------------------------------------------------------------

chez/chez005: success                              01.175s
chez/chez015: success                              01.228s
chez/chez025: success                              01.260s
chez/chez003: success                              01.301s
chez/chez009: success                              01.567s
chez/chez016: success                              01.650s
chez/chez008: success                              01.692s
chez/semaphores001: success                        01.698s
chez/semaphores002: success                        01.699s
chez/chez001: success                              01.723s
chez/chez007: success                              01.724s
chez/reg001: success                               01.737s
chez/chez012: success                              01.743s
chez/chez022: success                              01.784s
chez/chez024: success                              01.796s
chez/chez030: success                              01.803s
chez/perf001: success                              01.813s
chez/chez029: success                              01.853s
chez/chez017: success                              01.855s
chez/chez018: success                              01.855s
chez/chez026: success                              01.859s
chez/chez013: success                              01.867s
chez/chez010: success                              01.875s
chez/chez002: success                              01.879s
chez/chez006: success                              01.955s
chez/bitops: success                               01.994s
chez/chez019: success                              02.150s
chez/chez023: success                              02.340s
chez/chez014: success                              02.121s
chez/chez021: success                              02.175s
chez/chez028: success                              02.177s
chez/chez011: success                              02.223s
chez/chez004: success                              02.236s
chez/chez027: success                              02.259s
chez/chez020: success                              02.465s
chez/chez032: success                              02.469s
chez/chez031: success                              03.321s
chez/casts: success                                03.437s
chez/futures001: success                           04.709s
chez/newints: success                              06.209s
chez/integers: success                             11.930s

------------------------------------------------------------------------
Reference counting C backend
✓ Found C at gcc
------------------------------------------------------------------------

refc/refc001: success                              01.710s
refc/refc002: success                              01.149s
refc/clock: success                                01.258s
refc/doubles: success                              01.371s
refc/args: success                                 01.649s
refc/buffer: FAILURE                                02.604s
Expected:
31
1
2
1234605616436508552
1.414214
"Hello, world"
[1, 2, 136, 119, 102, 85, 68, 51, 34, 17, 205, 59, 127, 102, 158, 160, 246, 63, 72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 0]
[0, 255, 238, 221, 204, 187, 170, 153]
ABEiM0RVZnc=

Given:
31
1
2
1432778632
1.414214
"Hello, world"
[1, 2, 136, 119, 102, 85, 0, 0, 0, 0, 205, 59, 127, 102, 158, 160, 246, 63, 72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 0]
[0, 255, 238, 221, 204, 187, 170, 153]
ABEiMwAAAAA=

refc/strings: success                              03.342s
refc/integers: FAILURE                              43.570s
Expected:
Cast to String:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, 18446744073709551615, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775809, 0, 9223372036854775808]
Cast to Bits8:
[0, 50, 255, 0, 16, 255, 0, 0, 255, 0, 0, 255, 128, 50, 127, 0, 16, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 255, 0, 0]
Cast to Bits16:
[0, 50, 255, 0, 10000, 65535, 0, 51712, 65535, 0, 0, 65535, 65408, 50, 127, 32768, 10000, 32767, 0, 25856, 65535, 0, 0, 65535, 0, 0, 65535, 65535, 0, 0]
Cast to Bits32:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, 4294967168, 50, 127, 4294934528, 10000, 32767, 2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, 4294967295, 0, 0]
Cast to Bits64:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, 18446744073709551615, 18446744073709551488, 50, 127, 18446744073709518848, 10000, 32767, 18446744071562067968, 500000000, 2147483647, 9223372036854775808, 1000000000000000000, 9223372036854775807, 9223372036854775808, 1000000000000000000, 9223372036854775807, 9223372036854775807, 0, 9223372036854775808]
Cast to Int:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, -1, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775808, 1000000000000000000, 9223372036854775807, 9223372036854775807, 0, -9223372036854775808]
Cast to Integer:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, 18446744073709551615, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775809, 0, 9223372036854775808]
Add:
[1, 51, 0, 1, 10001, 0, 1, 1000000001, 0, 1, 5000000000000000001, 0, -127, 51, -128, -32767, 10001, -32768, -2147483647, 500000001, -2147483648, -9223372036854775807, 1000000000000000001, -9223372036854775808, -9223372036854775807, 1000000000000000001, -9223372036854775808, -9223372036854775808, 1, 9223372036854775809]
Subtract:
[255, 49, 254, 65535, 9999, 65534, 4294967295, 999999999, 4294967294, 18446744073709551615, 4999999999999999999, 18446744073709551614, 127, 49, 126, 32767, 9999, 32766, 2147483647, 499999999, 2147483646, 9223372036854775807, 999999999999999999, 9223372036854775806, 9223372036854775807, 999999999999999999, 9223372036854775806, -9223372036854775810, -1, 9223372036854775807]
Negate:
[0, 206, 1, 0, 55536, 1, 0, 3294967296, 1, 0, 13446744073709551616, 1, -128, -50, -127, -32768, -10000, -32767, -2147483648, -500000000, -2147483647, -9223372036854775808, -1000000000000000000, -9223372036854775807, -9223372036854775808, -1000000000000000000, -9223372036854775807, 9223372036854775809, 0, -9223372036854775808]
Multiply:
[0, 100, 254, 0, 20000, 65534, 0, 2000000000, 4294967294, 0, 10000000000000000000, 18446744073709551614, 0, 100, -2, 0, 20000, -2, 0, 1000000000, -2, 0, 2000000000000000000, -2, 0, 2000000000000000000, -2, -18446744073709551618, 0, 18446744073709551616]
Divide:
[0, 16, 85, 0, 3333, 21845, 0, 333333333, 1431655765, 0, 1666666666666666666, 6148914691236517205, -43, 16, 42, -10923, 3333, 10922, -715827883, 166666666, 715827882, -3074457345618258603, 333333333333333333, 3074457345618258602, -3074457345618258603, 333333333333333333, 3074457345618258602, -3074457345618258603, 0, 3074457345618258602]
[0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 43, -16, -42, 10923, -3333, -10922, 715827883, -166666666, -715827882, 3074457345618258603, -333333333333333333, -3074457345618258602, 3074457345618258603, -333333333333333333, -3074457345618258602, 3074457345618258603, 0, -3074457345618258602]
Mod:
[0, 16, 0, 0, 4, 0, 0, 7, 0, 0, 7, 0, 8, 16, 8, 8, 4, 8, 8, 12, 8, 8, 15, 8, 8, 15, 8, 7, 0, 9]
[0, 50, 16, 0, 10000, 16, 0, 1000000000, 16, 0, 5000000000000000000, 16, 8, 16, 8, 8, 4, 8, 8, 12, 8, 8, 15, 8, 8, 15, 8, 7, 0, 9]
Division Euclidean:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, 18446744073709551615, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775809, 0, 9223372036854775808]
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 5000000000000000000, 18446744073709551615, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775808, 1000000000000000000, 9223372036854775807, -9223372036854775809, 0, 9223372036854775808]
Shift:
[0, 100, 254, 0, 20000, 65534, 0, 2000000000, 4294967294, 0, 10000000000000000000, 18446744073709551614, 0, 100, -2, 0, 20000, -2, 0, 1000000000, -2, 0, 2000000000000000000, -2, 0, 2000000000000000000, -2, -18446744073709551618, 0, 18446744073709551616]
[0, 25, 127, 0, 5000, 32767, 0, 500000000, 2147483647, 0, 2500000000000000000, 9223372036854775807, -64, 25, 63, -16384, 5000, 16383, -1073741824, 250000000, 1073741823, -4611686018427387904, 500000000000000000, 4611686018427387903, -4611686018427387904, 500000000000000000, 4611686018427387903, -4611686018427387905, 0, 4611686018427387904]
Bit Ops:
[0, 34, 170, 0, 0, 170, 0, 0, 170, 0, 0, 170, -128, 34, 42, 0, 0, 170, 0, 0, 170, 0, 0, 170, 0, 0, 170, 170, 0, 0]
[170, 186, 255, 170, 10170, 65535, 170, 1000000170, 4294967295, 170, 5000000000000000170, 18446744073709551615, -86, -70, -1, -32598, 10170, 32767, -2147483478, 500000170, 2147483647, -9223372036854775638, 1000000000000000170, 9223372036854775807, -9223372036854775638, 1000000000000000170, 9223372036854775807, -9223372036854775809, 170, 9223372036854775978]
[170, 152, 85, 170, 10170, 65365, 170, 1000000170, 4294967125, 170, 5000000000000000170, 18446744073709551445, 42, -104, -43, -32598, 10170, 32597, -2147483478, 500000170, 2147483477, -9223372036854775638, 1000000000000000170, 9223372036854775637, -9223372036854775638, 1000000000000000170, 9223372036854775637, -9223372036854775979, 170, 9223372036854775978]
Comparisons:
[False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]
[True, False, False, True, False, False, True, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[True, True, True, True, True, True, True, True, True, True, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]

Given:
Cast to String:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, -9223372036854775809, 0, 9223372036854775808]
Cast to Bits8:
[0, 50, 255, 0, 16, 255, 0, 0, 255, 0, 0, 255, 128, 50, 127, 0, 16, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 255, 0, 0]
Cast to Bits16:
[0, 50, 255, 0, 10000, 65535, 0, 51712, 65535, 0, 0, 65535, 65408, 50, 127, 32768, 10000, 32767, 0, 25856, 65535, 0, 0, 65535, 0, 0, 65535, 65535, 0, 0]
Cast to Bits32:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, 4294967168, 50, 127, 4294934528, 10000, 32767, 2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, 4294967295, 0, 0]
Cast to Bits64:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, 18446744073709551488, 50, 127, 18446744073709518848, 10000, 32767, 18446744071562067968, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, 4294967295, 0, 0]
Cast to Int:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, 4294967295, 0, 0]
Cast to Integer:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, 0, -1486618624, -1, 0, -1486618624, -1, -9223372036854775809, 0, 9223372036854775808]
Add:
[1, 51, 0, 1, 10001, 0, 1, 1000000001, 0, 1, 1156841473, 4294967296, -127, 51, -128, -32767, 10001, -32768, -2147483647, 500000001, -2147483648, 1, 2808348673, 4294967296, 1, 2808348673, 4294967296, -9223372036854775808, 1, 9223372036854775809]
Subtract:
[255, 49, 254, 65535, 9999, 65534, 4294967295, 999999999, 4294967294, 18446744073709551615, 1156841471, 4294967294, 127, 49, 126, 32767, 9999, 32766, 2147483647, 499999999, 2147483646, -1, 2808348671, 4294967294, -1, 2808348671, 4294967294, -9223372036854775810, -1, 9223372036854775807]
Negate:
[0, 206, 1, 0, 55536, 1, 0, 3294967296, 1, 0, 18446744072552710144, 18446744069414584321, -128, -50, -127, -32768, -10000, -32767, -2147483648, -500000000, -2147483647, 0, -2808348672, -4294967295, 0, -2808348672, -4294967295, 9223372036854775809, 0, -9223372036854775808]
Multiply:
[0, 100, 254, 0, 20000, 65534, 0, 2000000000, 4294967294, 0, 2313682944, 8589934590, 0, 100, -2, 0, 20000, -2, 0, 1000000000, -2, 0, 5616697344, 8589934590, 0, 5616697344, 8589934590, -18446744073709551618, 0, 18446744073709551616]
Divide:
[0, 16, 85, 0, 3333, 21845, 0, 333333333, 1431655765, 0, 385613824, 1431655765, -43, 16, 42, -10923, 3333, 10922, -715827883, 166666666, 715827882, 0, 936116224, 1431655765, 0, 936116224, 1431655765, -3074457345618258603, 0, 3074457345618258602]
[0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 43, -16, -42, 10923, -3333, -10922, 715827883, -166666666, -715827882, 0, 0, 1, 0, 0, 1, 3074457345618258603, 0, -3074457345618258602]
Mod:
[0, 16, 0, 0, 4, 0, 0, 7, 0, 0, 6, 0, 8, 16, 8, 8, 4, 8, 8, 12, 8, 0, 12, 0, 0, 12, 0, 7, 0, 9]
[0, 50, 16, 0, 10000, 16, 0, 1000000000, 16, 0, 1156841472, 16, 8, 16, 8, 8, 4, 8, 8, 12, 8, 0, 2808348672, 16, 0, 2808348672, 16, 7, 0, 9]
Division Euclidean:
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, -9223372036854775809, 0, 9223372036854775808]
[0, 50, 255, 0, 10000, 65535, 0, 1000000000, 4294967295, 0, 1156841472, 4294967295, -128, 50, 127, -32768, 10000, 32767, -2147483648, 500000000, 2147483647, 0, 2808348672, 4294967295, 0, 2808348672, 4294967295, -9223372036854775809, 0, 9223372036854775808]
Shift:
[0, 100, 254, 0, 20000, 65534, 0, 2000000000, 4294967294, 0, 2313682944, 8589934590, 0, 100, -2, 0, 20000, -2, 0, 1000000000, -2, 0, 5616697344, 8589934590, 0, 5616697344, 8589934590, -18446744073709551618, 0, 18446744073709551616]
[0, 25, 127, 0, 5000, 32767, 0, 500000000, 2147483647, 0, 578420736, 2147483647, -64, 25, 63, -16384, 5000, 16383, -1073741824, 250000000, 1073741823, 0, 1404174336, 2147483647, 0, 1404174336, 2147483647, -4611686018427387905, 0, 4611686018427387904]
Bit Ops:
[0, 34, 170, 0, 0, 170, 0, 0, 170, 0, 0, 170, -128, 34, 42, 0, 0, 170, 0, 0, 170, 0, 0, 170, 0, 0, 170, 170, 0, 0]
[170, 186, 255, 170, 10170, 65535, 170, 1000000170, 4294967295, 170, 1156841642, 4294967295, -86, -70, -1, -32598, 10170, 32767, -2147483478, 500000170, 2147483647, 170, 2808348842, 4294967295, 170, 2808348842, 4294967295, -9223372036854775809, 170, 9223372036854775978]
[170, 152, 85, 170, 10170, 65365, 170, 1000000170, 4294967125, 170, 1156841642, 4294967125, 42, -104, -43, -32598, 10170, 32597, -2147483478, 500000170, 2147483477, 170, 2808348842, 4294967125, 170, 2808348842, 4294967125, -9223372036854775979, 170, 9223372036854775978]
Comparisons:
[False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, True, False, False, False, False, False, False, False, False, True, False, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]
[True, False, False, True, False, False, True, False, False, True, False, False, False, False, False, False, False, False, False, False, False, True, False, False, True, False, False, False, True, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, False, False, True, True, False]
[True, True, True, True, True, True, True, True, True, True, True, True, False, True, True, False, True, True, False, True, True, True, True, True, True, True, True, False, True, True]
[False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, True, True, False, False, True]

------------------------------------------------------------------------
Racket backend
✗ racket not found
------------------------------------------------------------------------

------------------------------------------------------------------------
Node backend
✗ node not found
------------------------------------------------------------------------

------------------------------------------------------------------------
Test templates
------------------------------------------------------------------------

templates/with-ipkg: success                       00.651s
templates/simple-test: success                     00.954s
templates/ttimp: success                           01.108s

------------------------------------------------------------------------
Code generation
------------------------------------------------------------------------

codegen/con001: success                            00.975s
codegen/builtin001: success                        01.954s

------------------------------------------------------------------------
Test across all backends: Chez instance
✓ Found Chez at /usr/bin/chez
------------------------------------------------------------------------

allbackends/perf006: success                       00.956s
allbackends/evaluator004: success                  02.261s
allbackends/basic048: success                      02.771s

------------------------------------------------------------------------
Test across all backends: node instance
✗ node not found
------------------------------------------------------------------------

------------------------------------------------------------------------
Test across all backends: racket instance
✗ racket not found
------------------------------------------------------------------------

430/432 tests successful
Failing tests:
refc/integers
refc/buffer
make[2]: *** [Makefile:7: test] Error 1
make[2]: Leaving directory '/builds/alpine/aports/testing/idris2/src/Idris2-0.4.0/tests'
make[1]: *** [Makefile:114: test] Error 2
make[1]: Leaving directory '/builds/alpine/aports/testing/idris2/src/Idris2-0.4.0'
make: *** [Makefile:214: bootstrap-test] Error 2
ohad commented 3 years ago

Thanks for this! The RefC backend has substantial changes in this release. Tagging @madman-bob since he might know what's happening.

Is there an easy way to get a container with this environment to make it easy to reproduce? (We're happy to use docker, for example.)

madman-bob commented 3 years ago

This doesn't particularly surprise me. The RefC backend is quite laissez-faire about switching between int and int64_t, so there's probably unintended truncation all over the place when using 32 bit systems.

I've tried to be disciplined when adding new code, but there's still quite a few ints that probably need changing to int64_ts.