status-im / nim-eth-verkle

Verkle tree implementation
Apache License 2.0
8 stars 3 forks source link

`test_tree.nim` failing for Nim v2.0.2 in PR branch `ipa-tree-types` and the `develop` branch as well #21

Closed agnxsh closed 4 months ago

agnxsh commented 9 months ago
image

Found the same for develop branch as well

agnxsh commented 9 months ago

Strangely it does work with Nim v1.6.16 and v1.6.18

image
advaita-saha commented 8 months ago

seems like the error is resulting from the typecasting in line 212, node.BranchesNode

tersec commented 4 months ago

Tried all 2x2x2=8 combinations of:

git hash: 92e505577e8b6b9214b6fcdd7fe1b0e9a244023b active boot switches: -d:release

and

Nim Compiler Version 2.0.2 [Linux: amd64] Compiled at 2024-07-31 Copyright (c) 2006-2023 by Andreas Rumpf

git hash: c4c44d10df8a14204a75c34e499def200589cb7c active boot switches: -d:release



- Commit `4cb17a3d056fcac03142ce08e05fb616977efd09` on `develop`  and `6db26394a6f9c2ba6d88ccc6f1750325d42502f8` on `ipa-tree-types`

and `--mm:orc` and `--mm:refc`.

Can reproduce this on both commits but only with 2.0.2 with `--mm:orc`, not `--mm:refc`.

Since 2.0.10 (current `version-2-0`, soon to be released version) doesn't seem to exhibit this, this seems to have been fixed upstream by Nim, whatever was happening.

In general, the reason one sometimes sees this jump from 1.6 to 2.0 when not specifying `--mm:orc` or `--mm:refc` explicitly is that aside from everything else, Nim 2.0 switched the default from `--m:refc` to `--mm:orc`, so by default ORC issues start appearing even if they had been there the whole time and would have been reproducible in 1.6 with `--mm:orc` too, just, no one had tried (and there's not much reason to).