fix(test): fix flaky Special_Tx_Is_Executed_Before_Normal_Txs nonce collision#11033
Merged
Conversation
CreateTransferTxFrom used hardcoded nonce 0. When the randomly selected sender account was also the masternode that had sent a signing tx in an earlier block (consuming nonce 0), the TxPool silently rejected the transfer tx as OldNonce. The block then contained only the signing tx, failing the receipts.Length > 1 assertion. Query GetLatestPendingNonce before building the transaction, matching the pattern used by SignTransactionManager and every other test in the same file.
LukaszRozmej
approved these changes
Apr 4, 2026
benaadams
approved these changes
Apr 4, 2026
asdacap
pushed a commit
that referenced
this pull request
Apr 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Special_Tx_Is_Executed_Before_Normal_Txstest inNethermind.Xdc.Test(~10% failure rate)CreateTransferTxFromused hardcoded nonce 0. When the randomly-selected sender account was also the masternode that sent a signing tx in an earlier block, nonce 0 was already consumed and the TxPool silently rejected the transfer tx asOldNonceTypes of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Documentation
Requires documentation update
Requires explanation in Release Notes
Last failure from master: https://github.com/NethermindEth/nethermind/actions/runs/23953520456/job/69866442815
Parent issue: #10966