How to reproduce:
- Open the attached "IN-151360" project
- In the menu bar, select "Bug Repro" > "Start Subsystem After Destroy"
- Observe the Console
Actual result: The "Start" call on the destroyed subsystem returns without throwing an exception
Expected result: The "Start" call throws a NullArgumentException, as documented in the "SubsystemWithProvider" Scripting API ("Once a subsystem is Destroyed, script can still hold a reference but calling a method on it will result in a NullArgumentException")
Reproducible with: 6000.0.0f1, 6000.0.83f1, 6000.3.23f1, 6000.6.0f1, 6000.7.0a6
Reproducible on: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS (by user), Windows 10 Pro
Not reproducible on: No other environments tested
Workaround: Set your own reference to null immediately after calling "Destroy", so later calls fail with a NullReferenceException. The "running" property cannot be used to detect a destroyed subsystem, because calling "Start" on it sets "running" back to true.
Note: Also reproducible in batch mode with "-batchmode -nographics -executeMethod BugHunt.Packs.SubsystemWithProviderPostDestroyStartRepro.Run"