Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

evm_state.selfdestruct_with_balance test fails for aleth-interpreter #5767

Closed
gumb0 opened this issue Oct 2, 2019 · 4 comments · Fixed by #5806
Closed

evm_state.selfdestruct_with_balance test fails for aleth-interpreter #5767

gumb0 opened this issue Oct 2, 2019 · 4 comments · Fixed by #5806
Assignees

Comments

@gumb0
Copy link
Member

gumb0 commented Oct 2, 2019

evm-test was built from the branch ethereum/evmone#189, aleth-interpreter build from current master

> bin/evm-test ../../aleth/build/libaleth-interpreter/libaleth-interpreter.so  --gtest_filter=evm_state.selfdestruct_with_balance
EVM Test 0.2.0

Testing ../../aleth/build/libaleth-interpreter/libaleth-interpreter.so

Note: Google Test filter = evm_state.selfdestruct_with_balance
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from evm_state
[ RUN      ] evm_state.selfdestruct_with_balance
/home/andrei/dev/evmone/test/unittests/evm_state_test.cpp:336: Failure
Expected equality of these values:
  host.recorded_account_accesses.size()
    Which is: 1
  0
/home/andrei/dev/evmone/test/unittests/evm_state_test.cpp:407: Failure
Expected equality of these values:
  host.recorded_account_accesses.size()
    Which is: 1
  0
/home/andrei/dev/evmone/test/unittests/evm_state_test.cpp:421: Failure
Expected equality of these values:
  host.recorded_account_accesses.size()
    Which is: 1
  0
/home/andrei/dev/evmone/test/unittests/evm_state_test.cpp:446: Failure
Expected equality of these values:
  host.recorded_account_accesses.size()
    Which is: 1
  0
/home/andrei/dev/evmone/test/unittests/evm_state_test.cpp:461: Failure
Expected equality of these values:
  host.recorded_account_accesses.size()
    Which is: 2
  0
[  FAILED  ] evm_state.selfdestruct_with_balance (2 ms)
[----------] 1 test from evm_state (2 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (2 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] evm_state.selfdestruct_with_balance

 1 FAILED TEST

Apparently there are some unexpected account accesses in some cases.
(So not a consensus issues, but some suboptimalities)

@gumb0 gumb0 changed the title evm_state.selfdestruct_with_balance fails for aleth-interpreter evm_state.selfdestruct_with_balance test fails for aleth-interpreter Oct 2, 2019
@gumb0
Copy link
Member Author

gumb0 commented Oct 31, 2019

Should be reproduced with evmone master now

@halfalicious
Copy link
Contributor

halfalicious commented Nov 2, 2019

@gumb0 / @chfast How do I run the test using aleth-interpreter on Windows? I only see a .lib file in build\libaleth-interpreter<build config> when I presumably need a DLL? Otherwise I need to somehow build evm-test and have it statically link in the .lib file?

@chfast
Copy link
Member

chfast commented Nov 3, 2019

Enable ALETH_INTERPRETER_SHARED CMake option to get the DLL. Pass it as an argument for evm-test.

At this point, they might not be ABI compatible before they implement some version of ustable EVMC v7.

@halfalicious
Copy link
Contributor

Enable ALETH_INTERPRETER_SHARED CMake option to get the DLL. Pass it as an argument for evm-test.

At this point, they might not be ABI compatible before they implement some version of ustable EVMC v7.

Thanks, that worked! I can build the DLL but I'm running into issues building EVMOne, see ethereum/evmone#203

I'm able to work around this by building Aleth and EVMOne in a Linux VM, but it would be nice to be able to build both and run the tests on Windows.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants