NethermindEth / NethermindEth/Catalyst

Block production gap

Open
#640 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
44
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Sometimes there is a gap in block production. It looks like this might be caused by BlockInfo building delay, but it needs more investigation.
Every time I saw this issue, it happened after a forced inclusion. Not sure if that’s related.

2025-10-06T10:38:50.012842Z | Epoch: 822    | Slot: 3  | L2 Slot: 3  | Txs: 1    | Fee: 25000000 | L2: 2355   | Time: 1759747130 | Hash: 0xb97a5c | Batches: 0 | Preconf, Submit, Synced |
2025-10-06T10:38:50.012871Z DEBUG catalyst_whitelist::node::batch_manager::batch_builder: Creating new block with pending tx list length: 1, bytes length: 124
2025-10-06T10:38:50.012877Z  INFO catalyst_whitelist::node::batch_manager: Adding new L2 block id: 2356, timestamp: 1759747130, parent gas used: 166904, allow_forced_inclusion: true
2025-10-06T10:38:50.016875Z DEBUG catalyst_whitelist::forced_inclusion: Decode forced inclusion at index 79, tail: 80
2025-10-06T10:38:50.024783Z DEBUG common::blob::blob_parser: extract_transactions_from_blob: Blob conversion took 7 ms
2025-10-06T10:38:50.025433Z DEBUG common::blob::blob_parser: extract_transactions_from_blob: Total with decompression and decoding took 7 ms
2025-10-06T10:38:50.025455Z DEBUG catalyst_whitelist::node::batch_manager: Got forced inclusion in 9 milliseconds
2025-10-06T10:38:50.025464Z DEBUG common::l2::taiko: Submitting new L2 block to the Taiko driver with 1 txs
2025-10-06T10:38:50.027563Z DEBUG common::l2::pacaya::execution_layer: AnchorTX transaction hash: 0xfbdc129964d99057706e7b9c4d832786156b5f8ec0860c51177fdd1d25835eb8
2025-10-06T10:38:50.054368Z  INFO catalyst_whitelist::chain_monitor: L2 block → number: 2356, hash: 0xff9c04985fccd248365b65663c2f86b197f11e678a2ee113308a43ee5adda361, parent hash: 0xb97a5c2cea67f33f05d957a66d3caed143ac615f62afa2483b50cef800bc7d52
2025-10-06T10:38:50.058932Z DEBUG catalyst_whitelist::node::batch_manager: Preconfirmed forced inclusion L2 block: Some(BuildPreconfBlockResponse { number: 2356, hash: 0xff9c04985fccd248365b65663c2f86b197f11e678a2ee113308a43ee5adda361, parent_hash: 0xb97a5c2cea67f33f05d957a66d3caed143ac615f62afa2483b50cef800bc7d52 })
2025-10-06T10:38:53.884942Z | Epoch: 822    | Slot: 3  | L2 Slot: 4  | Txs: 2    | Fee: 25000000 | L2: 2356   | Time: 1759747132 | Hash: 0xff9c04 | Batches: 1 | Preconf, Submit, Synced |
2025-10-06T10:38:53.884973Z DEBUG catalyst_whitelist::node::batch_manager::batch_builder: Creating new block with pending tx list length: 2, bytes length: 198
2025-10-06T10:38:53.884980Z  INFO catalyst_whitelist::node::batch_manager: Adding new L2 block id: 2357, timestamp: 1759747132, parent gas used: 202697, allow_forced_inclusion: true
2025-10-06T10:38:53.884990Z DEBUG catalyst_whitelist::node::batch_manager::batch_builder: Added L2 block to batch: l2 blocks: 1, total bytes: 198
2025-10-06T10:38:53.884994Z DEBUG common::l2::taiko: Submitting new L2 block to the Taiko driver with 2 txs
2025-10-06T10:38:53.886616Z DEBUG common::l2::pacaya::execution_layer: AnchorTX transaction hash: 0x13075b39225d674d0151382d2373134161e955306af1548709c91eeb2d3df402
2025-10-06T10:38:53.905307Z  INFO catalyst_whitelist::chain_monitor: L2 block → number: 2357, hash: 0xfe85055b6688bc095012952dd690d2bf6d2ccfd5e131670f9818a6005567a038, parent hash: 0xff9c04985fccd248365b65663c2f86b197f11e678a2ee113308a43ee5adda361
2025-10-06T10:38:54.011543Z | Epoch: 822    | Slot: 3  | L2 Slot: 5  | Txs: 0    | Fee: 25000000 | L2: 2357   | Time: 1759747134 | Hash: 0xfe8505 | Batches: 1 | Preconf, Submit, Synced |

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the catalyst_whitelist::node::batch_manager and batch_builder logs around forced inclusion, then follow common::l2::taiko and forced_inclusion while reproducing the slot gap. Compare BlockInfo building and block-submission timing after forced inclusion; done means the cause is identified and the reported production gap is prevented or clearly explained.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.