Bug Description
When the sequencer starts building a block and encounters a temporary error while fetching receipts, it does not get scheduled again, requiring a stop/start through the admin API or a restart of op-node.
The problem stems from the fact that the sequencer does not update the nextAction if it encounters a temporary error from the PreparePayloadAttributes() call here.
While it emits a rollup.EngineTemporaryErrorEvent, it will not schedule a new time in its handler since the first if statement is true and it returns immediately here.
I'm not entirely sure if removing the if d.latest == (BuildingState{}) check in onEngineTemporaryError() is a good idea or if this has unintended side effects.
Steps to Reproduce
Add the following failure simulation to the code here
if rand.Int() % 15 == 0 {
return nil, NewTemporaryError(fmt.Errorf("failed to fetch L1 block info and receipts: Simulating failure"))
}
Run make devnet-up
The sequencer will stop building new blocks at some point
See grepped output from docker logs ops-bedrock-op-node-1 | rg "sequencer action|simulating" -i
Bug Description When the sequencer starts building a block and encounters a temporary error while fetching receipts, it does not get scheduled again, requiring a stop/start through the admin API or a restart of
op-node
.The problem stems from the fact that the sequencer does not update the
nextAction
if it encounters a temporary error from thePreparePayloadAttributes()
call here. While it emits arollup.EngineTemporaryErrorEvent
, it will not schedule a new time in its handler since the first if statement is true and it returns immediately here.I'm not entirely sure if removing the
if d.latest == (BuildingState{})
check inonEngineTemporaryError()
is a good idea or if this has unintended side effects.Steps to Reproduce
make devnet-up
See grepped output from
docker logs ops-bedrock-op-node-1 | rg "sequencer action|simulating" -i
Expected behavior The sequencer should retry building the block after the temporary error.
Environment Information:
9936803afdc2848836eb1d69ecb68cef769b4288
)