Skip to content

fix(vm_syscall): only extract input region for successful execs#429

Draft
0xalpharush wants to merge 1 commit intofiredancer-io:agave-v3.1.0-beta.0from
0xalpharush:fix/syscall-crash
Draft

fix(vm_syscall): only extract input region for successful execs#429
0xalpharush wants to merge 1 commit intofiredancer-io:agave-v3.1.0-beta.0from
0xalpharush:fix/syscall-crash

Conversation

@0xalpharush
Copy link
Contributor

@0xalpharush 0xalpharush commented Feb 9, 2026

If a CPI call fails, Agave doesn't perform update_caller_account_region and the memory region may contain stale pointers. Given Agave doesn't read these in prod, it is fine. But the syscall harness is reading this intermediary state where there's a pending change (callee triggers realloc) that's never realized by the caller. One solution is to only call mem_region_to_input_data_region when the program returns StableResult::Ok.

Note, this will require updating test-vectors and FD's syscall harness.

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.

1 participant