status-im / nimbus-eth2

Nim implementation of the Ethereum Beacon Chain
https://nimbus.guide
Other
530 stars 231 forks source link

"Error: unsupported generic type: List" in "tests/helpers/debug_state.nim" with Nim-1.0.4 #582

Closed stefantalpalaru closed 4 years ago

stefantalpalaru commented 4 years ago

Using the nim1.0.4 branch:

[NimScript] exec: nim c --out:./build/all_fixtures_require_ssz -r -d:release -d:chronicles_log_level=DEBUG -d:const_preset=minimal --verbosity:0 --hints:off --warnings:off -d:usePcreHeader --passL:"-lpcre" tests/official/all_fixtures_require_ssz.nim 
stack trace: (most recent call last)
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(114, 14) reportDiff
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(92, 16) inspectType
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(103, 18) inspectType
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(85, 18) inspectType
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(95, 11) inspectType
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/assertions.nim(27, 20) failedAssertImpl
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/assertions.nim(20, 11) raiseAssert
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/fatal.nim(39, 5) sysFatal
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/official/test_fixture_sanity_slots.nim(49, 7) template/generic instantiation of `suite` from here
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/official/test_fixture_sanity_slots.nim(50, 10) template/generic instantiation of `runTest` from here
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/official/test_fixture_sanity_slots.nim(32, 10) template/generic instantiation of `test` from here
/mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/official/test_fixture_sanity_slots.nim(42, 17) template/generic instantiation of `reportDiff` from here
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/fatal.nim(39, 5) Error: unhandled exception: /mnt/sda3/storage/CODE/status/nim-beacon-chain/tests/helpers/debug_state.nim(95, 14) `tImpl[0].eqIdent"seq" or tImpl[0].eqIdent"array"` Error: unsupported generic type: List [AssertionError]
stack trace: (most recent call last)
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(393, 18)
/mnt/sda3/storage/CODE/status/nim-beacon-chain/beacon_chain.nimble(60, 15) testTask
/mnt/sda3/storage/CODE/status/nim-beacon-chain/beacon_chain.nimble(44, 8) buildBinary
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(252, 7) exec
/mnt/sda3/storage/CODE/status/nim-beacon-chain/vendor/nimbus-build-system/vendor/Nim/lib/system/nimscript.nim(252, 7) Error: unhandled exception: FAILED: nim c --out:./build/all_fixtures_require_ssz -r -d:release -d:chronicles_log_level=DEBUG -d:const_preset=minimal --verbosity:0 --hints:off --warnings:off -d:usePcreHeader --passL:"-lpcre" tests/official/all_fixtures_require_ssz.nim  [OSError]
stefantalpalaru commented 4 years ago

Dustin said: "when I switch to doAssert I get that with 1.0.2 locally too"

So it looks like it was a bug in 1.0.2 that disabled that assert() in release mode, bug fixed by 1.0.4.

mratsim commented 4 years ago

It's a compile-time assert, seems like those were disabled in certain case? Maybe with -d:release.