Reproduction Steps
1. Create an Actor in the Workspace
2. Add a Script (works with LocalScripts or different RunContext scripts too)
3. Add code that runs in parallel constantly, e.g.:
game:GetService("RunService").Heartbeat:ConnectParallel(function() end)
- Run the game
- Delete the script or the actor
- Roblox will crash
Expected Behavior
Roblox should not crash if a desynchronized script is destroyed.
Actual Behavior
Roblox crashes when a script that has desynchronized code is removed from the game.
Workaround
I have to explicitly signal to my script to synchronize before the actor is destroyed. However, if the model inside the actor falls off the world and is destroyed by Roblox, I cannot prevent the crash.
Issue Area: Engine
Issue Type: Crashing
Impact: High
Frequency: Often
Date First Experienced: 2022-09-01 00:09:00 (-04:00)
Date Last Experienced: 2022-09-02 00:09:00 (-04:00)