Skip to content

[SharovBot] revert: Revert PR #19508 (Revert "[wip] sd: removing txNum field")#19564

Open
Giulio2002 wants to merge 1 commit intomainfrom
agent-fix/revert-19508-txnum-field
Open

[SharovBot] revert: Revert PR #19508 (Revert "[wip] sd: removing txNum field")#19564
Giulio2002 wants to merge 1 commit intomainfrom
agent-fix/revert-19508-txnum-field

Conversation

@Giulio2002
Copy link
Collaborator

[SharovBot]

Summary

Re-reverts #19508 to investigate a regression in the Sync from scratch test (minimal node).

Root Cause Investigation

Bisect of the failing CI run shows:

  • Feb 27 run (sha 61e3808ea895, HEAD at time of run) → mainnet ✅ PASSED
  • Feb 28 run (sha 5d92478c9980, HEAD at time of run) → mainnet ❌ FAILED: gas used mismatch + Wrong trie root at block ~24.5M

PR #19508 falls squarely in the regression window (merged Feb 27 03:09 UTC). It is a partial revert of #19489 but adds new SetTxNum() calls that were not in the original codebase before #19489:

  • exec3_serial.go::executeBlockse.doms.SetTxNum(txTask.TxNum)
  • exec3_parallel.gope.doms.SetTxNum(applyResult.lastTxNum)
  • stage_execute.go::unwindExec3Statesd.SetTxNum(txUnwindTo)
  • domain_shared.go::SeekCommitmentsd.SetTxNum(txNum)

SetTxNum sets both sd.txNum AND sd.currentStep = txNum / stepSize. Setting currentStep to the live txNum (~6689 for mainnet block 24.5M) during serial execution may corrupt how snapshot file boundaries are evaluated during commitment or state reads.

This PR

Reverts the changes introduced by #19508 so the sync-from-scratch test can be re-run on this branch to confirm/deny the hypothesis.

Testing

Triggering QA - Sync from scratch (minimal node) on this branch.

…m field")

Re-reverts #19508 to investigate regression in 'Sync from scratch test (minimal node)'.

#19508 re-added SetTxNum() calls to exec3_serial.go, exec3_parallel.go,
stage_execute.go, domain_shared.go and squeeze.go. These SetTxNum calls set
sd.currentStep = txNum / stepSize during serial execution, which may corrupt
state reads or commitment calculations at recent mainnet blocks (~24.5M).

Bisect: mainnet PASSED at sha before #19508 (Feb 27), FAILED (gas used mismatch
+ wrong trie root) at sha after #19508 (Feb 28).
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