On glamsterdam-devnet-8, builder 1889 won slot 142048, but Teku and Lighthouse rejected its reveal because the withdrawals did not match state. Slot 142047 was missed, and 142048 was the first slot of the next epoch.
At 05:29:33.101 UTC, Buildoor synthesized the 142048 attributes from 142047 and started building. This copied the withdrawals and prev_randao across the epoch boundary. Teku emitted another event for slot 142048 856 ms later. Buildoor did not replace the build because both events used the same beacon and execution parent tuple.
The logs do not contain the Teku event body. If it contained post-transition withdrawals, Buildoor failed to use them. If it contained pre-transition withdrawals, this can indicate a related Teku proposer-preparation bug. The incident has not been reproduced.
Buildoor must not submit copied state-dependent attributes across an epoch boundary. A regression test can cover a missed final epoch slot followed by changed withdrawals.
On glamsterdam-devnet-8, builder 1889 won slot 142048, but Teku and Lighthouse rejected its reveal because the withdrawals did not match state. Slot 142047 was missed, and 142048 was the first slot of the next epoch.
At 05:29:33.101 UTC, Buildoor synthesized the 142048 attributes from 142047 and started building. This copied the withdrawals and
prev_randaoacross the epoch boundary. Teku emitted another event for slot 142048 856 ms later. Buildoor did not replace the build because both events used the same beacon and execution parent tuple.The logs do not contain the Teku event body. If it contained post-transition withdrawals, Buildoor failed to use them. If it contained pre-transition withdrawals, this can indicate a related Teku proposer-preparation bug. The incident has not been reproduced.
Buildoor must not submit copied state-dependent attributes across an epoch boundary. A regression test can cover a missed final epoch slot followed by changed withdrawals.