Skip to content

Fix: clear stale paused state in the loader host fixture - #1522

Merged
repeat98 merged 1 commit into
repeat98:mainfrom
ex1010:fix/loader-host-paused-snapshot
Nov 13, 2026
Merged

repeat98 merged 1 commit into
repeat98:mainfrom
ex1010:fix/loader-host-paused-snapshot

Conversation

@ex1010

@ex1010 ex1010 commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

The loader host fixture carries a synthetic stock PC from the stock-switch scenario into unrelated allocator cases: it stores STOCK + 30 at paused + 20, so the real halfword scanner can also see 0x101e0000 at offset 22 and retain an unrelated extent when ASLR puts the truncated host pool there. This deterministically reproduces the first free-space failures and cascade seen in FRACT’s SDK run during test_volatile_service; the CI pool address itself was not logged.

Clear the paused/register snapshots after the stock-switch scenario, before the allocator scenarios begin. Every existing assertion remains, including explicit module-pointer retention, unknown-task refusal and release after clearing the real test pointer; production loader code and native packages are unchanged.

Validation: both real host suites pass (test_volatile_service.py and test_runtime_loader.py), with ASan/UBSan where their existing harness enables them. A controlled synthetic uncached alias to a 768 KiB host pool with low32 base 0x101d0000 reproduces the same first failures on the original fixture; the same mapping passes after only the snapshot reset, with the production loader byte-identical. Local full pr:ready says Ready (163.12 s); pinned isolated Octatrack comparisons and all 64 current Elemod release exports also pass. Jev reviewed the changed fragment: 0 flags, 1 missing-context uncertainty investigated against callers/scenario order and the controlled reproduction, 0 deferred; the changelog is static-only, and this is not a complete file review.

This is a separate host-test correction under the repository’s rule for test fixes, not a change to FRACT’s implementation or hardware evidence. Related to #1380.

Guides: nothing missing; existing guidance already warns about truncated host addresses and ASLR in loader fixtures.

@github-actions github-actions Bot added the bug Something isn't working label Nov 13, 2026
@repeat98
repeat98 merged commit 08c33f8 into repeat98:main Nov 13, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants