You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Crash: SIGSEGV in RunAffineAnimFromTaskData (fault addr 0x161e558) #16
Investigated. Root cause is a 64-bit pointer truncation in the affine battle-anim path: PrepareAffineAnimInTaskData packs the const union AffineAnimCmd * into two s16 task slots (StorePointerInVars), and RunAffineAnimFromTaskData reloads only 32 bits (LoadPointerFromVars) before dereferencing — the fault addr 0x161e558 is the surviving low 32 bits of an affine-cmds table that lives above 4 GB on the LP64 host. Fixed by keeping the pointer full-width in a side table keyed by task index (same pattern as StoreSpriteCallbackInData6 in this file).
PR: #17 (not runtime-verified — the native core doesn't build in CI here).
Activity
dylan-botler commentedon Jul 9, 2026
Investigated. Root cause is a 64-bit pointer truncation in the affine battle-anim path:
PrepareAffineAnimInTaskDatapacks theconst union AffineAnimCmd *into twos16task slots (StorePointerInVars), andRunAffineAnimFromTaskDatareloads only 32 bits (LoadPointerFromVars) before dereferencing — the fault addr0x161e558is the surviving low 32 bits of an affine-cmds table that lives above 4 GB on the LP64 host. Fixed by keeping the pointer full-width in a side table keyed by task index (same pattern asStoreSpriteCallbackInData6in this file).PR: #17 (not runtime-verified — the native core doesn't build in CI here).