flamenco, runtime, vm: clean up bounds on the number of instruction accounts#7553
Merged
topointon-jump merged 1 commit intoJan 6, 2026
Merged
Conversation
e10ece9 to
275e9ac
Compare
Performance Measurements ⏳
|
275e9ac to
b6823dc
Compare
Performance Measurements ⏳
|
263d7a5 to
526d1fd
Compare
Performance Measurements ⏳
|
526d1fd to
55c40db
Compare
Performance Measurements ⏳
|
55c40db to
132eaf9
Compare
mjain-jump
reviewed
Dec 4, 2025
Performance Measurements ⏳
|
132eaf9 to
981de07
Compare
Performance Measurements ⏳
|
981de07 to
a3e3d2d
Compare
mjain-jump
previously approved these changes
Dec 5, 2025
Performance Measurements ⏳
|
| @@ -105,7 +105,7 @@ static const fd_cluster_version_t FD_RUNTIME_CLUSTER_VERSION = { | |||
| /* The bpf loader's serialization footprint is bounded in the worst case | |||
| by 64 unique writable accounts which are each 10MiB in size (bounded | |||
Contributor
There was a problem hiding this comment.
comments shouldn't exceed 80 chars
ripatel-fd
requested changes
Dec 7, 2025
Contributor
ripatel-fd
left a comment
There was a problem hiding this comment.
The fix looks good, but can we add a manual test passing a worst-case transaction into the runtime? This makes it easier to verify the behavior in the future without having to rely on external fuzzing infra.
a3e3d2d to
ce51746
Compare
Performance Measurements ⏳
|
c50f29b to
b7a6d5a
Compare
Contributor
Author
|
@ripatel-fd done! will migrate it over to the new unit test framework when we have it, for now I copy/pasted the other test setup code |
Performance Measurements ⏳
|
b7a6d5a to
7c8d430
Compare
Performance Measurements ⏳
|
7c8d430 to
e4f4215
Compare
Performance Measurements ⏳
|
ripatel-fd
approved these changes
Jan 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.
Corrects the value of FD_INSTR_ACCT_MAX to a larger bound derived from the transaction MTU. Without this, it is possible to cause a conformance divergence.
Credit to @nick0ve for reporting this in https://github.com/firedancer-io/auditor-internal/issues/348.
We were also using FD_INSTR_ACCT_MAX in several places where we shouldn't have been. This PR corrects that, so that we only use this larger bound where it's actually necessary.
Thankfully, solana-foundation/solana-improvement-documents#406 fixes this by limiting the number of instruction accounts to 255 at the transaction sanitization level. Once that SIMD is implemented and activated we can use the same 255 limit everywhere.
Increases the size of
fd_runtime_tby 470KB.