-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Description
Found while attempting to run monorepo acceptance tests targeting kona-node(version op-rs/kona@fe6dfcf)
L1 origin selection is done at https://github.com/op-rs/kona/blob/fe6dfcf771059109f1d75043d5ecbbfa3b6ca1a5/crates/node/service/src/actors/sequencer/actor.rs#L214 while block building at kona.
Kona seems to fail detecting L1 reorg while unsafe block building, and also not resetting(reorging). This case was supposed to be covered at kona's acceptance test at l2_reorg_after_l1_reorgs_test.go, TestL2ReorgAfterL1Reorg test but due to #18675 the test preset was running op-node sequencer instead of kona-node sequencer so this L1 reorg case was not covered.
TestL2ReorgAfterL1Reorg disables derivation by turning off the batcher. Even in this case, L2 reorg must occur.
Manually created temp test at https://github.com/ethereum-optimism/optimism/tree/pcw109550/temp-kona-unsafe-head-l1-reorg. We may compare the logs between targeting op-node or kona-node.
op-node
op-node correctly triggers L2 reorg due to L1 reorg, correcting L1 origin of unsafe heads.
op-node:
cd op-acceptance-tests/tests/sync/unsafe_reorg
go test ./... -run ^TestKona_ReorgRecovery$ -count=1 -v > t-op-node.logExample logs:
sync_test.go:46: INFO [12-22|19:39:25.137] Target L2 Block to reorg l2=c4867a..e28da7:12 l1_origin=a40ad0..b5badb:4
sync_test.go:52: INFO [12-22|19:39:57.167] Triggering L1 reorg l1=a40ad0..b5badb:4
sync_test.go:62: INFO [12-22|19:39:57.174] Triggered L1 reorg l1=3793a3..d60e63:4
sync_test.go:89: INFO [12-22|19:40:17.178] seq wowow bn=88d71d..fe758c:0 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.178] seq wowow bn=3345a4..45bef4:1 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.179] seq wowow bn=39bff2..ef0823:2 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.180] seq wowow bn=f8c2db..7a19dd:3 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.180] seq wowow bn=524a88..9e405b:4 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.181] seq wowow bn=8f92d8..13c014:5 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.182] seq wowow bn=698a4a..bb2b3e:6 l1=210dff..303438:0
sync_test.go:89: INFO [12-22|19:40:17.182] seq wowow bn=dc22f3..1d42da:7 l1=9f74d0..821f45:1
sync_test.go:89: INFO [12-22|19:40:17.183] seq wowow bn=7ac768..dcff83:8 l1=26f71e..6fbbc5:2
sync_test.go:89: INFO [12-22|19:40:17.184] seq wowow bn=cf7626..408ed5:9 l1=7d972b..d8f257:3
sync_test.go:89: INFO [12-22|19:40:17.184] seq wowow bn=c3a3fc..061536:10 l1=7d972b..d8f257:3
sync_test.go:89: INFO [12-22|19:40:17.185] seq wowow bn=6ae593..f33173:11 l1=7d972b..d8f257:3
sync_test.go:89: INFO [12-22|19:40:17.185] seq wowow bn=5e389f..b13379:12 l1=3793a3..d60e63:4
sync_test.go:89: INFO [12-22|19:40:17.186] seq wowow bn=09de5d..d64aee:13 l1=3793a3..d60e63:4
sync_test.go:89: INFO [12-22|19:40:17.186] seq wowow bn=5fc4d7..009dfa:14 l1=3793a3..d60e63:4
sync_test.go:89: INFO [12-22|19:40:17.187] seq wowow bn=45975c..a7b541:15 l1=857df6..50d4d0:5
sync_test.go:89: INFO [12-22|19:40:17.187] seq wowow bn=580222..603512:16 l1=857df6..50d4d0:5
sync_test.go:95: INFO [12-22|19:40:17.198] l1 wowow bn=210dff..303438:0
sync_test.go:95: INFO [12-22|19:40:17.198] l1 wowow bn=9f74d0..821f45:1
sync_test.go:95: INFO [12-22|19:40:17.198] l1 wowow bn=26f71e..6fbbc5:2
sync_test.go:95: INFO [12-22|19:40:17.199] l1 wowow bn=7d972b..d8f257:3
sync_test.go:95: INFO [12-22|19:40:17.199] l1 wowow bn=3793a3..d60e63:4
sync_test.go:95: INFO [12-22|19:40:17.199] l1 wowow bn=857df6..50d4d0:5
kona-node
op-node fails to detec L1 reorg, never correcting L1 origin of unsafe heads.
kona-node
cd op-acceptance-tests/tests/sync/unsafe_reorg
# build kona-node
DEVSTACK_L2CL_KIND=kona RUST_BINARY_PATH_KONA_NODE=/tmp/kona-node go test ./... -run ^TestKona_ReorgRecovery$ -count=1 -v > t-kona-node.log
grep -E "wow|Target L2 Block to reorg|Triggering L1 reorg|Triggered L1 reorg|Triggered L2 reorg" t-kona-node.logExample logs:
sync_test.go:46: INFO [12-22|19:51:38.227] Target L2 Block to reorg l2=485c4f..b8c75b:12 l1_origin=8f07ca..784b1e:4
sync_test.go:52: INFO [12-22|19:52:10.309] Triggering L1 reorg l1=8f07ca..784b1e:4
sync_test.go:62: INFO [12-22|19:52:10.314] Triggered L1 reorg l1=88a6d1..2c629d:4
sync_test.go:89: INFO [12-22|19:52:30.317] seq wowow bn=566965..e73137:0 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.317] seq wowow bn=37200c..ec8191:1 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.317] seq wowow bn=c5cd36..356326:2 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.318] seq wowow bn=f69467..3f6983:3 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.318] seq wowow bn=ca91df..41bb5c:4 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.318] seq wowow bn=6b604e..309cef:5 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.318] seq wowow bn=993038..c3f10e:6 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.319] seq wowow bn=fd1c74..c77f7b:7 l1=788267..1cda25:0
sync_test.go:89: INFO [12-22|19:52:30.319] seq wowow bn=b62ee2..2b6538:8 l1=fbb460..efd863:1
sync_test.go:89: INFO [12-22|19:52:30.319] seq wowow bn=0943fc..ed02d3:9 l1=a52333..b7862b:2
sync_test.go:89: INFO [12-22|19:52:30.319] seq wowow bn=353776..5dc355:10 l1=79c6dc..d102d4:3
sync_test.go:89: INFO [12-22|19:52:30.320] seq wowow bn=bc0d9f..a30718:11 l1=79c6dc..d102d4:3
sync_test.go:89: INFO [12-22|19:52:30.320] seq wowow bn=485c4f..b8c75b:12 l1=8f07ca..784b1e:4
sync_test.go:89: INFO [12-22|19:52:30.320] seq wowow bn=a3d6f1..6bbf9d:13 l1=8f07ca..784b1e:4
sync_test.go:89: INFO [12-22|19:52:30.320] seq wowow bn=55f15a..c4fd4b:14 l1=8f07ca..784b1e:4
sync_test.go:89: INFO [12-22|19:52:30.321] seq wowow bn=53f4ec..fe06f6:15 l1=9c33a7..2c079c:5
sync_test.go:95: INFO [12-22|19:52:30.327] l1 wowow bn=788267..1cda25:0
sync_test.go:95: INFO [12-22|19:52:30.327] l1 wowow bn=fbb460..efd863:1
sync_test.go:95: INFO [12-22|19:52:30.327] l1 wowow bn=a52333..b7862b:2
sync_test.go:95: INFO [12-22|19:52:30.328] l1 wowow bn=79c6dc..d102d4:3
sync_test.go:95: INFO [12-22|19:52:30.328] l1 wowow bn=88a6d1..2c629d:4