crate-crypto / go-ipa

A Go implementation of cryptographic primitives for Verkle Trees
https://verkle.dev
Apache License 2.0
32 stars 14 forks source link

Failing test on amd64 #28

Closed gballet closed 1 year ago

gballet commented 1 year ago

go-verkle has a test called TestWithRustCompatibility that fails with revision c5abbdbdf644b0fc059eb12e8962a122ef44f262 on amd64. For some reason, it doesn't fail on arm.

amd64:

> uname -a
Linux geth-verkle2 5.15.0-1017-aws #21~20.04.1-Ubuntu SMP Fri Aug 5 11:44:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
> go test .
--- FAIL: TestWithRustCompatibility (0.00s)
    tree_test.go:950: rust and golang impl are not compatible rust=10ed89d89047bb168baa4e69b8607e260049e928ddbcb2fdd23ea0f4182b1f8a, go=36b47e235a02b9dbe096f929065dbc81e9b096a8e9edc437e9dbfb39af718de0
FAIL
FAIL    github.com/gballet/go-verkle    8.259s
FAIL

and aarch64:

> uname -a
Linux Carina 5.10.65-tegra #1 SMP PREEMPT Mon May 16 20:58:07 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux
> go test .
ok      github.com/gballet/go-verkle    8.159s

On the one hand, it is possible that there is an issue with the test that got revealed once I upgraded go-verkle to c5abbdbdf644b0fc059eb12e8962a122ef44f262, but on the other hand it's still suspicious that it fails on one platform and not another. So I'm creating this issue to track the problem. I have tried to go back a couple revisions, but all versions have the same problem. I will keep looking for the revision that introduced the breaking change when I have a moment.

gballet commented 1 year ago

go-verkle ci is able to run this test on a amd64 machine, so the problem is somewhere else https://github.com/gballet/go-verkle/pull/298