Skip to content

Enable JIT validation for MEL#4565

Merged
rauljordan merged 4 commits intomel-validator-createvalidationentryfrom
enable-jit-melvalidation
Apr 6, 2026
Merged

Enable JIT validation for MEL#4565
rauljordan merged 4 commits intomel-validator-createvalidationentryfrom
enable-jit-melvalidation

Conversation

@ganeshvanahalli
Copy link
Copy Markdown
Contributor

This PR enables JIT validation for MEL and does necessary plumbing to account for new mel related fields in the global state.

Co-authored by claude

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 26, 2026

Codecov Report

❌ Patch coverage is 27.77778% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 33.75%. Comparing base (7b9e805) to head (c7d7a7b).
⚠️ Report is 5 commits behind head on mel-validator-createvalidationentry.

Additional details and impacted files
@@                           Coverage Diff                           @@
##           mel-validator-createvalidationentry    #4565      +/-   ##
=======================================================================
+ Coverage                                30.16%   33.75%   +3.59%     
=======================================================================
  Files                                      501      501              
  Lines                                    59803    59820      +17     
=======================================================================
+ Hits                                     18041    20195    +2154     
+ Misses                                   38463    36063    -2400     
- Partials                                  3299     3562     +263     

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 26, 2026

❌ 10 Tests Failed:

Tests completed Failed Passed Skipped
4725 10 4715 0
View the top 3 failed tests by shortest run time
TestAliasingFlaky
Stack Traces | -0.000s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
INFO [04-06|20:29:11.311] Persisted trie from memory database      nodes=0   flushnodes=0 size=0.00B    flushsize=0.00B time=611ns       flushtime=0s gcnodes=0 gcsize=0.00B gctime=0s          livenodes=121 livesize=21.87KiB
ERROR[04-06|20:29:11.312] Dangling trie nodes after full cleanup
INFO [04-06|20:29:11.312] Blockchain stopped
INFO [04-06|20:29:11.314] Submitted transaction                    hash=0x57e601445b3627d121f392223c7ddaf5b9f69d47135ad2f827a6de00c52de5fa from=0xaF24Ca6c2831f4d4F629418b50C227DF0885613A nonce=5  recipient=0xaF24Ca6c2831f4d4F629418b50C227DF0885613A value=1,000,000,000,000
INFO [04-06|20:29:11.314] Starting work on payload                 id=0x038cb04e7087fd92
INFO [04-06|20:29:11.315] Updated payload                          id=0x038cb04e7087fd92                      number=43 hash=16ad1e..d4f7b5 txs=1  withdrawals=0 gas=21000     fees=0.002087907023 root=d95f6e..bece88 elapsed="822.095µs"
INFO [04-06|20:29:11.315] Stopping work on payload                 id=0x038cb04e7087fd92                      reason=delivery
INFO [04-06|20:29:11.316] Imported new potential chain segment     number=43 hash=16ad1e..d4f7b5 blocks=1  txs=1  mgas=0.021 elapsed="451.195µs" mgasps=46.543   triediffs=210.51KiB triedirty=0.00B
INFO [04-06|20:29:11.316] Chain head was updated                   number=43 hash=16ad1e..d4f7b5 root=d95f6e..bece88 elapsed="27.782µs"
INFO [04-06|20:29:11.318] Ethereum protocol stopped
INFO [04-06|20:29:11.318] Transaction pool stopped
INFO [04-06|20:29:11.318] Submitted transaction                    hash=0xd4467e282fb18ea7c883d24b52c8aa7e5380a796a6f879b8bff49baf170900c3 from=0xaF24Ca6c2831f4d4F629418b50C227DF0885613A nonce=6  recipient=0xaF24Ca6c2831f4d4F629418b50C227DF0885613A value=1,000,000,000,000
INFO [04-06|20:29:11.318] Persisting dirty state                   head=36 root=9436eb..b3ea51 layers=36
INFO [04-06|20:29:11.318] Starting work on payload                 id=0x030876aa88f791b4
INFO [04-06|20:29:11.318] Updated payload                          id=0x030876aa88f791b4                      number=44 hash=c957a9..e24956 txs=1  withdrawals=0 gas=21000     fees=0.002089414587 root=c30613..0a2b35 elapsed="349.395µs"
INFO [04-06|20:29:11.319] Persisted dirty state to disk            size=171.50KiB elapsed="836.017µs"
INFO [04-06|20:29:11.319] Stopping work on payload                 id=0x030876aa88f791b4                      reason=delivery
INFO [04-06|20:29:11.319] Blockchain stopped
INFO [04-06|20:29:11.319] Imported new potential chain segment     number=44 hash=c957a9..e24956 blocks=1  txs=1  mgas=0.021 elapsed="458.64µs"  mgasps=45.788   triediffs=214.76KiB triedirty=0.00B
INFO [04-06|20:29:11.319] Chain head was updated                   number=44 hash=c957a9..e24956 root=c30613..0a2b35 elapsed="23.305µs"
TestBatchPosterL1SurplusMatchesBatchGasFlaky
Stack Traces | 0.560s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked]
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2087e12]

goroutine 68 [running]:
testing.tRunner.func1.2({0x37ef1a0, 0x62119c0})
	/opt/hostedtoolcache/go/1.25.8/x64/src/testing/testing.go:1872 +0x237
testing.tRunner.func1()
	/opt/hostedtoolcache/go/1.25.8/x64/src/testing/testing.go:1875 +0x35b
panic({0x37ef1a0?, 0x62119c0?})
	/opt/hostedtoolcache/go/1.25.8/x64/src/runtime/panic.go:783 +0x132
github.com/offchainlabs/nitro/arbnode.(*InboxTracker).GetBatchCount(0x3639900?)
	/home/runner/work/nitro/nitro/arbnode/inbox_tracker.go:210 +0x12
github.com/offchainlabs/nitro/arbnode.(*InboxTracker).FindInboxBatchContainingMessage(0x0, 0x7)
	/home/runner/work/nitro/nitro/arbnode/inbox_tracker.go:225 +0x2f
github.com/offchainlabs/nitro/system_tests.TestBatchPosterL1SurplusMatchesBatchGasFlaky(0xc000182c40)
	/home/runner/work/nitro/nitro/system_tests/batch_poster_test.go:838 +0x725
testing.tRunner(0xc000182c40, 0x41c3b30)
	/opt/hostedtoolcache/go/1.25.8/x64/src/testing/testing.go:1934 +0xea
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.25.8/x64/src/testing/testing.go:1997 +0x465
TestRevalidationForSpecifiedRange
Stack Traces | 5.610s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0xd2a59b2458367b2dadf73efbd05f57422634258d79622dc04de828dffb810601, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 15, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0xc2e83474a4759a910c2db58b4b780cbb7eff0c2081aeb0c4b5fa9fa5d3d9c030, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 16, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0xd3d6d17285183ba899b562e10399ab7d938ed002840ff691b6eb3e32ae3449a8, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 2, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x152a20308478ddc54c1e5e345a2af9babf62f20ff6035f55a150499441bd579f, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 3, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x21539eb9fb6185238caca50942859d2a0ce40613ba0b9fc551338edcc3d4fdc1, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 7, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x254664e299b5d9a3005fde25d60be5f7dc4f7263cbcbe1249a71f7fd8bc33611, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 8, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0xd106b6996c682af5049455232047452e62798376bdbd664505b187518d1afe24, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 9, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x7b132e92c0ba309c48726da19a8681351353a483c3d6fe53a214f59241f93bf1, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 10, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x5526d2489e7d8a88539d221a7742f66e28ab65ec4241513a92d7bb756bdd7716, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 14, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0xd2a59b2458367b2dadf73efbd05f57422634258d79622dc04de828dffb810601, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 15, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0xf0e9c80f58ae037cbf33899af184a934350d976259f006d665608815ed739023, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 6, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x21539eb9fb6185238caca50942859d2a0ce40613ba0b9fc551338edcc3d4fdc1, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 7, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x7b132e92c0ba309c48726da19a8681351353a483c3d6fe53a214f59241f93bf1, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 10, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x2c322a7f68e8d559e29855ebca4a7d736f83da17bbdf8cf601d43ce2c92efd0d, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 11, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x2c322a7f68e8d559e29855ebca4a7d736f83da17bbdf8cf601d43ce2c92efd0d, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 11, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x0f5cc17f8e750948b97f4af8660d99279ae91fb441e2edad8f3f36ae30adf3bb, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 12, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x332163df9372a4c37508ef7bfab82c05e3287bca73a4ab7f7d3952947b22eac9, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 13, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x5526d2489e7d8a88539d221a7742f66e28ab65ec4241513a92d7bb756bdd7716, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 14, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.983] error while validating                   err="context canceled" start="BlockHash: 0x5617464461d2f8e15debd59c197ba7ec5334415832b025794159ec44ffbea028, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 1, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0xd3d6d17285183ba899b562e10399ab7d938ed002840ff691b6eb3e32ae3449a8, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 2, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.984] Error during validation                  err="validation: failed entry pos 1, start BlockHash: 0x5617464461d2f8e15debd59c197ba7ec5334415832b025794159ec44ffbea028, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 1, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000: context canceled"
ERROR[04-06|20:35:44.984] error trying to reorg validation         pos=0 err="cannot reorg out genesis"
ERROR[04-06|20:35:44.984] Error during validation                  err="cannot reorg out genesis"
    common_test.go:2217: error occurred: validation: failed entry pos 1, start BlockHash: 0x5617464461d2f8e15debd59c197ba7ec5334415832b025794159ec44ffbea028, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 1, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000: context canceled
ERROR[04-06|20:35:44.984] error while validating                   err="context canceled"         start="BlockHash: 0x152a20308478ddc54c1e5e345a2af9babf62f20ff6035f55a150499441bd579f, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 3, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0x24a192273a927dfe9acf41e6cf9b9f6625f5ba652e6bf379d8490422bf69bf73, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 4, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
ERROR[04-06|20:35:44.984] Error during validation                  err="validation: failed entry pos 1, start BlockHash: 0x5617464461d2f8e15debd59c197ba7ec5334415832b025794159ec44ffbea028, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 1, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000: context canceled"
ERROR[04-06|20:35:44.984] error trying to reorg validation         pos=0 err="cannot reorg out genesis"
ERROR[04-06|20:35:44.984] Error during validation                  err="cannot reorg out genesis"
ERROR[04-06|20:35:44.984] error while validating                   err="context canceled"         start="BlockHash: 0x24a192273a927dfe9acf41e6cf9b9f6625f5ba652e6bf379d8490422bf69bf73, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 4, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000" end="BlockHash: 0xb702ba927d3185e2c434998b3c9f5d9cae1bafcddde9d96b68318e0334192976, SendRoot: 0x0000000000000000000000000000000000000000000000000000000000000000, Batch: 5, PosInBatch: 0, MELStateHash: 0x0000000000000000000000000000000000000000000000000000000000000000, MELMsgHash: 0x0000000000000000000000000000000000000000000000000000000000000000"
--- FAIL: TestRevalidationForSpecifiedRange (5.61s)

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

Copy link
Copy Markdown
Contributor

@rauljordan rauljordan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good! quite straightforward

@rauljordan
Copy link
Copy Markdown
Contributor

looks like there is a real failing issue though @ganeshvanahalli

@rauljordan rauljordan merged commit 32e5243 into mel-validator-createvalidationentry Apr 6, 2026
17 of 18 checks passed
@rauljordan rauljordan deleted the enable-jit-melvalidation branch April 6, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants