-
Notifications
You must be signed in to change notification settings - Fork 834
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
Unable to trace_block [0xbe70da] - error 500, blocks whole node #4050
Comments
Looking at this block there is one VERY big transaction that uses more than 15 million gas and executes more than 1200 static calls: https://ropsten.etherscan.io/tx/0x877f7cfe8ac00ec1c87300d9d8890bb05692a429cbbfc973d39cf6155b5b67eb My guess is creating the trace for it is very compute intense and is blocking the node. We need to look into this to confirm this theory and see if we can optimize that if this should indeed by the case. |
Also something similar happened a while ago: We are also wondering, whoever tested this if he is planning to send something like this on mainnet. At current prices 15 mio gas would cost about 0.3 Eth and could be a DoS attack for node operators, at least if the app depends on traces. |
blocked by #4140 but the workaround to set fast-sync-min-peers=1 should help |
Required fix from #4210 |
Also 2 cases on mainnet now:
In my testing besu takes over 200 seconds = 3 minutes to respond in both cases, for example 2 This makes it increasingly difficult to run in production, if applications depending on traces have lower http timeouts. We were only able to get around it with a custom caching proxy. Please reconsider prioritization of this issue. |
@Jakeler We're currently reviewing a few approaches to resolve this issue. Are you able to share your usecase that experiences this issue? Are you tracing every block? |
Ok, thank you. |
@daniellehrner - related to current work? or can i close as a duplicate ? |
Yes, that appears to a duplicate |
Besu is unable to return traces for one specific block on ropsten, which makes it unusable for indexing transaction from traces.
Steps to Reproduce (Bug)
Expected behavior:
Should return traces, continue to operate and respond to other RPC requests.
Like it succesfully does for the previous and following blocks (0xbe70d9, 0xbe70db).
Actual behavior:
HTTP request blocks for multiple minutes, eventually finishes with error 500.
In that time all other RPC requests are blocked as well. The log is full with:
Also teku complains immediately and does not sync new blocks anymore:
The node recovers a few minutes after that and starts to respond again.
Frequency:
100% with this block/RPC
Versions (Add all that apply)
hyperledger/besu:22.4.3-openjdk-11-amd64
Additional Information
The text was updated successfully, but these errors were encountered: