-
Notifications
You must be signed in to change notification settings - Fork 20.6k
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
Geth produced a block without transactions in mainnet #26368
Comments
Use latest |
More specifically: #25836 |
many thanks for the fast reply @holiman. Any ETA for it to hit stable? Would you know if there's any logging improvements related to block production we could enable? Many thanks for your work 🙌 |
I don't know the ETA for it to hit stable. We won't ship 1.11 for a while yet, so the question is if we will include it in a backport release any time soon.... We'll discusss it, we haven't scheduled it yet. |
@holiman is there a plan to add logs when a block is produced by Geth or provided to the beacon? Thanks |
System information
Geth version:
v1.10.23
CL client & version: teku/v22.11.0
OS & Version: Linux
Commit hash : N/A
Context
Our setup in mainnet is a Teku CL + MEV boost (single relay) + Geth EL. We've experienced mev-boost failures which made Teku to use Geth as fallback block builder. During a 7 day period, Geth was used as a fallback block builder 124 times, of which it produced 4 blocks without transactions.
Expected behaviour
Geth should always produce blocks with transactions.
Actual behaviour
Geth produced ~3% of blocks without transactions
Steps to reproduce the behaviour
We're not able to reproduce this issue consistently on mainnet. From our sample, ~3% percent of the blocks were affected during normal operation of our nodes.
Backtrace
There were no errors or warning in Geth that could help troubleshoot the root cause of this issue. We only saw in Teku:
And in Geth:
We're using default settings for logging. Unfortunately there's no warnings or errors in CL or EL. The only relevant line in CL is:
and from EL we're just seeing it importing the produced block w/out transactions:
Final note
We've mitigated this issue by adding more relays which should improve mev-boost resilience and decrease the probability of fallback to Geth's block production. However we're just hiding a real issue here and, because of that, it would be valuable to understand under what circumstances Geth provides a block without transactions in mainnet.
Would also be worth knowing if is there any logging we could enable specifically for block production or any other flag that could improve block production process.
The text was updated successfully, but these errors were encountered: