ethereum / execution-spec-tests

A Python framework and collection of test cases to generate test vectors for Ethereum execution clients
https://ethereum.github.io/execution-spec-tests
MIT License
106 stars 72 forks source link

besu internal error when filling constantinople/eip1014_create2/test_recreate.py #882

Open winsvega opened 2 days ago

winsvega commented 2 days ago

Command breaks besu t8n server:

uv run fill --evm-bin=besu-t8n tests/constantinople/eip1014_create2/test_recreate.py
tests/constantinople/eip1014_create2/test_recreate.py:113: in test_recreate
    blockchain_test(genesis_environment=env, pre=pre, post=post, blocks=blocks)
src/pytest_plugins/filler/filler.py:805: in __init__
    fixture = self.generate(
src/ethereum_test_specs/blockchain.py:750: in generate
    return self.make_fixture(t8n, fork, eips)
src/ethereum_test_specs/blockchain.py:568: in make_fixture
    header, txs, requests, new_alloc, new_env = self.generate_block_data(
src/ethereum_test_specs/blockchain.py:432: in generate_block_data
    transition_tool_output = t8n.evaluate(
src/evm_transition_tool/besu.py:166: in evaluate
    response.raise_for_status()  # exception visible in pytest failure output
.venv/lib/python3.12/site-packages/requests/models.py:1024: in raise_for_status
    raise HTTPError(http_error_msg, response=self)
E   requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://localhost:40685/
danceratopz commented 1 day ago

@winsvega The timeout of 5 seconds is already quite generous (even for a gas limit type test). I don't see this in the stacktrace, but I assume we're hitting the timeout set here: https://github.com/ethereum/execution-spec-tests/blob/888fac5dbb82bca1bfb1bee8c23dfa4276b0d36a/src/evm_transition_tool/besu.py#L159

You could try experimenting locally to see if it helps?

winsvega commented 1 day ago

I see the issue is in this test:

tests/constantinople/eip1014_create2/test_recreate.py:113: in test_recreate
    blockchain_test(genesis_environment=env, pre=pre, post=post, blocks=blocks)
src/pytest_plugins/filler/filler.py:805: in __init__
    fixture = self.generate(
src/ethereum_test_specs/blockchain.py:750: in generate
    return self.make_fixture(t8n, fork, eips)
src/ethereum_test_specs/blockchain.py:568: in make_fixture
    header, txs, requests, new_alloc, new_env = self.generate_block_data(
src/ethereum_test_specs/blockchain.py:432: in generate_block_data
    transition_tool_output = t8n.evaluate(
src/evm_transition_tool/besu.py:166: in evaluate
    response.raise_for_status()  # exception visible in pytest failure output
.venv/lib/python3.12/site-packages/requests/models.py:1024: in raise_for_status
    raise HTTPError(http_error_msg, response=self)
E   requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://localhost:40685/
uv run fill --evm-bin=besu-t8n tests/constantinople/eip1014_create2/test_recreate.py

it breaks the server so all following tests timeout