-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Feat/evmc6: stEWASMTests fail (internal error -1) #62
Comments
With the latest updates in #57 (as of c93eb46), I have: Hera fails two tests st.whitelist(`^stEWASM`)
if strings.Contains(*testEWASM, "hera") {
st.skipLoad(`^stEWASMTests/callSenderBalanceExceeds128Bits`)
st.skipLoad(`^stEWASMTests/ecAddCallDataCopy`) SSVM seems to fail some (I'm having a tough time isolating the failed test(s)...), but when running the suite continually causes a
|
As of 88f5c66, there's a way to run the test (files) individually with the |
#!/usr/bin/env bash
ewasm_sos=(
/home/ia/dev/second-state/SSVM/build/tools/ssvm-evmc/libssvmEVMC.so
/home/ia/dev/ewasm/hera/build/src/libhera.so
)
set -e
make evmc
make all
set +e
find tests/testdata/GeneralStateTests/stEWASMTests -type f -name '*json' | while read -r line; do
for so in "${ewasm_sos[@]}"; do
resdir="test-ewasm-results/$(basename $so)"
mkdir -p "$resdir"
./build/bin/evm --debug --dump --verbosity 2 statetest --evmc.ewasm="$so" "$line" |& tee "$resdir/$(basename $line)"
done
done
for so in "${ewasm_sos[@]}"; do
resfile="test-ewasm-results/batch"
mkdir -p "$resfile"
resfile="${resfile}/$(basename $so)"
go test -v ./tests/ -run TestState -evmc.ewasm="${so}" ./tests |& tee "$resfile"
done
|
As of fc424d7, all tests are passing with Hera. But something is still clearly broken for SSVM, eg.
Run the script above to reproduce failures on a test-by-test basis. @dm4 Can you give a hand here? |
Hi, @me020523 |
Update: It looks like SSVM get lots of wasm module instantiation errors. Please give me a moment to analyze these wasm bytecode. |
Update: You can check out to our master branch to get the latest code.
|
Updates SSVM dev to latest as mentioned in #62 (comment) SSVM still failing 8 state test cases, but not causing seg fault anymore. Signed-off-by: meows <b5c6@protonmail.com>
Hi, @meowsbits, |
Issue indeed resolved with SSVM's |
Rel #55, #57
System and Version Info
feat/evmc6
]139dbb5791e46d9c0edea9defd8f9231023fe7cb
Expected behaviour
Hera and SSVM EWASM libs should be able to pass stEWASMTests.
Actual behaviour
Full log attached: test.ssvm.log
At this point I'm not sure if this is an issue with SSVM, the go-ethereum/
evmc
CGo bindings, or thecore/vm/evmc.go
implementation. cc @dm4 Would you be able to help here?Hera actually seems to throw a comparable error (not sure if on the same specific tests), but doesn't Fatal itself. The code originally caused geth to panic when the EWASMs returned an internal error. Returning the error seems to fix the tests, for hera...https://github.com/etclabscore/core-geth/pull/57/files#diff-9633a3aa7f6fd345efaab4431bab4ae8R379-R381You can make Hera fail the tests by reverting this commit.skipLoad
section for them for now -> Feat/evmc6: stEWASMTests fail (internal error -1) #62 (comment)Steps to reproduce the behaviour
.so
EWASM objects for Hera and SSVM. Make sure they're at EVMC v6.3.1, otherwise you'll get anABI version mismatch
error.make
, the shared library is locatedbuild/tools/ssvm-evmc/libssvmEVMC.so
feat/evmc6
branch.git submodule update
. Submoduletests/testdata
should be atetclabscore:multigeth-ewasm
, a development branch of core-geth's tests HEAD which includes the bespoke EWASM tests.Backtrace
The text was updated successfully, but these errors were encountered: