Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected response in case of method debug_traceBlockByHash after upgrade to go-ethereum: v1.14.0 #29676

Open
radoslav-dyulgerov opened this issue Apr 29, 2024 · 2 comments
Labels

Comments

@radoslav-dyulgerov
Copy link

radoslav-dyulgerov commented Apr 29, 2024

System information

Geth version: go-ethereum: v1.14.0
CL client & version: prysm@v5.0.2
OS & Version: Linux/
Commit hash : (if develop)

Expected behaviour

Actual behaviour

{
    "jsonrpc": "2.0",
    "id": 1,
    "error": {
        "code": -32000,
        "message": "tracing failed: insufficient funds for gas * price + value: address 0xdf99A0839818B3f120EBAC9B73f82B617Dc6A555 have 61122619715444668 want 74363312441006965"
    }
}

Steps to reproduce the behaviour

Make a call (example below):

{
    "jsonrpc": "2.0",
    "method": "debug_traceBlockByHash",
    "params": [
        "0x683b2d38f36806709da5f925adac285bd2cbed10e58669dc8ef5ac2164d3f58a",
        {
            "tracer": "callTracer",
            "tracerConfig": {
                "onlyTopCall": false,
                "withLog": false
            },
            "disableStorage": true,
            "disableStack": true
        }
    ],
    "id": 1
}

The issue is only observed when tracing below blocks:
height: 19755425, hash: '0xdd0ac10044f0254bdb4a2d6ddb314cc7825dfb07474fc7f3dfc94f31c4616d5e'
height: 19755134, hash: '0x683b2d38f36806709da5f925adac285bd2cbed10e58669dc8ef5ac2164d3f58a'

Downgrade to previous version fixed the issue:

geth --version
geth version 1.13.15-stable-c5ba367e

So the issue is only observed in v1.14.0 for specific blocks.

Backtrace

[backtrace]

When submitting logs: please submit them as text and not screenshots.

@holiman
Copy link
Contributor

holiman commented Apr 29, 2024

Interesting.

In both those blocks 19755425 and 19755134, the address 0xdf99A0839818B3f120EBAC9B73f82B617Dc6A555 has the last transaction (first shown on the etherscan listing).

So I assume that this is the MEV payout.

@holiman
Copy link
Contributor

holiman commented Apr 29, 2024

IF we look at the block 19755425, the address got payouts during the block:

Screenshot 2024-04-29 at 09-46-27 Address 0xdf99a0839818b3f120ebac9b73f82b617dc6a555 Etherscan

So, I guess in order to execute the last transaction, the previous transactions in that block must first be applied to the prestate: this transaction cannot be executed out of order.

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

No branches or pull requests

2 participants