Skip to content

Guard Infinite Zoop subsystem updates - #53

Draft
kyleclarktech wants to merge 1 commit into
mklierman:mainfrom
kyleclarktech:fix/infinitezoop-null-subsystem-crash
Draft

Guard Infinite Zoop subsystem updates#53
kyleclarktech wants to merge 1 commit into
mklierman:mainfrom
kyleclarktech:fix/infinitezoop-null-subsystem-crash

Conversation

@kyleclarktech

Copy link
Copy Markdown

Summary

This hardens Infinite Zoop's build-gun subsystem update path against missing world/subsystem/hologram state.

The crash seen in Satisfactory 1.2 (CL 491125, SML 3.12.0) happens through:

AInfiniteZoopSubsystem::SetPublicZoopAmount()
FInfiniteZoopModule::SetSubsystemZoopAmounts()
FInfiniteZoopModule::BGSecondaryFire()
UFGBuildGunState::SecondaryFire
AFGBuildGun::Input_SecondaryFire()

In affected runtime logs, the native Infinite Zoop module loads, but /Script/InfiniteZoop.InfiniteZoopSubsystem is not registered. SetSubsystemZoopAmounts() then assumes the subsystem actor exists and calls SetPublicZoopAmount() through a null pointer, producing an access violation at address 0x00000000000002c0.

Changes

  • Return early from SetSubsystemZoopAmounts() if the world, hologram, subsystem actor manager, Infinite Zoop subsystem, or construction instigator is unavailable.
  • Reuse the validated construction instigator for all SetPublicZoopAmount() calls.
  • Make SetPublicZoopAmount() release the provided critical section before returning when owner is null.
  • Avoid leaving the critical section locked in the vertical zoop branch by using a single write/update/unlock path.

Validation

  • Ran git diff --check.
  • Inspected the reported crash path against the guarded code path.
  • Could not compile locally because this checkout does not include a configured Satisfactory/Unreal mod build environment.

Notes

This prevents the native hook from crashing when the subsystem is missing. It does not by itself explain why the Infinite Zoop world module/subsystem is sometimes absent after the 1.2 GameFeature/SML 3.12 migration, so there may still be a packaging or asset-registration issue to investigate separately.

@mklierman

Copy link
Copy Markdown
Owner

Looks good so far. Let me know when you're ready for a full review

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.

2 participants