reth
reth copied to clipboard
EVM reported invalid transaction with `debug_executionWitness`
trafficstars
Describe the bug
I run the following where Reth is running on said host:port.
curl -X POST -H "Content-Type: application/json" --data '{ "jsonrpc": "2.0", "method": "debug_executionWitness","params": ["0x15e0d46"], "id": 1 }' http://localhost:8545
It returns
{"jsonrpc":"2.0","id":1,"error":{"code":-32603,"message":"EVM reported invalid transaction (0x1d81c5819781a73440f4a1653889f6a6306557664fb90229ce0db70b5d52e087): nonce 4308 too high, expected 0"}}
I think that error message either is incorrect (because I prune state) or there is a bug with my state or the the rpc command implementation. Attached my various configs to help with the trubleshooting.
Steps to reproduce
My Reth.toml is the following
[datadir]
# Data directory
static_files = "/home/eth-node/reth"
[prune]
# Run pruning every 5 blocks
block_interval = 5
[prune.segments]
# Prune account history - keep last ~10,064 blocks (~1.4 days)
account_history = { distance = 10064 }
# Prune storage history - keep last ~10,064 blocks
storage_history = { distance = 10064 }
# Prune receipts - keep last ~10,064 blocks
receipts = { distance = 10064 }
# Prune sender recovery data
sender_recovery = { distance = 10064 }
# Keep transaction lookup for recent blocks
transaction_lookup = { distance = 10064 }
# Prune contract logs
contract_logs = { distance = 10064 }
[http]
addr = "0.0.0.0"
port = 8545
api = ["debug", "eth", "net", "web3"]
[debug]
# Stop syncing at this block hash
tip = "0x1a31d9f36c9e89dc8082a7ca48e5a70facb17129b0d79ffbae6c8653aeaec4a9"
I run it with this
reth node \
--config /home/eth-node/config/reth.toml \
--datadir /home/eth-node/reth \
--authrpc.jwtsecret /home/eth-node/config/jwt.hex \
--authrpc.addr 127.0.0.1 \
--authrpc.port 8551 \
--http \
--http.api debug,eth,net,web3
I also run Nimbus on the consensus side in case that affects things.
Node logs
The node is still syncing, so only seeing messages from that. I used to see block not found a few days ago, so not getting a new error messages which indicating a incorrect state makes me file the bug report, although maybe the issue is just unclear error message.
2025-10-22T22:57:52.058458Z INFO ChainOrchestrator::poll: Executed block range start=5286682 end=5286871 throughput="103.65Mgas/second"
2025-10-22T22:58:00.663824Z INFO Received block from consensus engine number=23636184 hash=0x8976329d3c4a3944040576248292e1956439367843b5a7248898541b5618dba0
2025-10-22T22:58:02.094406Z INFO ChainOrchestrator::poll: Executed block range start=5286872 end=5287037 throughput="89.79Mgas/second"
2025-10-22T22:58:12.107872Z INFO ChainOrchestrator::poll: Executed block range start=5287038 end=5287230 throughput="119.86Mgas/second"
2025-10-22T22:58:13.906528Z INFO Received block from consensus engine number=23636185 hash=0xf3f9a8cdc3f4aad7e383b5cd37df2cde3cbe5ef3a2956e15fd500324de31fe5a
2025-10-22T22:58:16.386151Z INFO Status connected_peers=130 stage=Execution checkpoint=5279305 target=23620829 stage_progress=3.41%
2025-10-22T22:58:22.127773Z INFO ChainOrchestrator::poll: Executed block range start=5287231 end=5287461 throughput="129.66Mgas/second"
2025-10-22T22:58:24.419988Z INFO Received block from consensus engine number=23636186 hash=0xf3f3935dbfcccabd1b649cae2f118a2a7f09b6a88d7d8f57f0afd7db38962468
2025-10-22T22:58:32.165260Z INFO ChainOrchestrator::poll: Executed block range start=5287462 end=5287695 throughput="136.05Mgas/second"
2025-10-22T22:58:37.066207Z INFO Received block from consensus engine number=23636187 hash=0xdb7bb689142fea2f3689cc938fc3fad9d536b94a8e0c1a58371941014247773e
2025-10-22T22:58:41.386172Z INFO Status connected_peers=130 stage=Execution checkpoint=5279305 target=23620829 stage_progress=3.41%
2025-10-22T22:58:42.184041Z INFO ChainOrchestrator::poll: Executed block range start=5287696 end=5287915 throughput="128.14Mgas/second"
2025-10-22T22:58:49.006916Z INFO Received block from consensus engine number=23636188 hash=0x57bab971350bb7857f3b9bdd1b05551d5993b0b72983b118715bfdbfc1e32fc3
2025-10-22T22:58:52.186520Z INFO ChainOrchestrator::poll: Executed block range start=5287916 end=5288118 throughput="125.96Mgas/second"
Platform(s)
Linux (x86)
Container Type
Not running in a container
What version/commit are you on?
root@Ubuntu-2404-noble-amd64-base /home/eth-node # reth --version
reth-ethereum-cli Version: 1.8.2
Commit SHA: 67bf37babdb1439d911b0fee06305d8a9248f1d1
Build Timestamp: 2025-10-18T19:45:07.842761805Z
Build Features: jemalloc,otlp
Build Profile: release
What database version are you on?
root@Ubuntu-2404-noble-amd64-base /home/eth-node # reth db version
2025-10-22T23:00:34.207723Z INFO Initialized tracing, debug log directory: /root/.cache/reth/logs/mainnet
Current database version: 2
Local database version: 2
Which chain / network are you on?
Mainnet
What type of node are you running?
Pruned with custom reth.toml config
What prune config do you use, if any?
[prune]
# Run pruning every 5 blocks
block_interval = 5
[prune.segments]
# Prune account history - keep last ~10,064 blocks (~1.4 days)
account_history = { distance = 10064 }
# Prune storage history - keep last ~10,064 blocks
storage_history = { distance = 10064 }
# Prune receipts - keep last ~10,064 blocks
receipts = { distance = 10064 }
# Prune sender recovery data
sender_recovery = { distance = 10064 }
# Keep transaction lookup for recent blocks
transaction_lookup = { distance = 10064 }
# Prune contract logs
contract_logs = { distance = 10064 }
If you've built Reth from source, provide the full command you used
cargo install --git https://github.com/paradigmxyz/reth.git --bin reth
Code of Conduct
- [x] I agree to follow the Code of Conduct