Search Issue Tracker
By Design
Votes
0
Found in
2019.3
2019.3.12f1
2020.1
2020.2
Issue ID
1246410
Regression
No
[WebGL] Build crashes with 'PlayerLoop called recursively' error when loading scene
Reproduction steps:
1. Open the user's attached project ("SGC Project.zip")
2. Open Addressables groups window and Build Player Content (Build > New Build > Default Build Script)
3. Make a WebGL build and run it
4. Once the build loads, click "Scenario Editor" in the menu
Expected result: Scene loads without issues
Actual result: Build crashes with "An abnormal situation has occurred: the PlayerLoop internal function has been called recursively." error
Reproducible with: 2019.3.15f1, 2020.1.0b10, 2020.2.0a11
Couldn't test with 2018.4 (project errors after downgrade)
Note: Crash does not reproduce in Editor, or Standalone builds (both Mono and IL2CPP)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Camera.current returns null when Camera.targetTexture is set to null in OnPostRender
- Crash on BaseHierarchyProperty::Next when opening a specific project
- ShaderLab pragmas are no longer allowed in regular include directives
- Shader Compilation for projects with lots of Shaders can be slow (i.e. VFX Graph asset heavy projects)
- The Editor hangs when opening a project that uses local packages and Version Control
Resolution Note (2020.2.X):
The reported error is caused by an out of bounds memory error in the VesselPropertiesPanel.Clear method, specifically the line `speedSlider.value = 0';`. speedSlider is a SliderEvents object, and for the slider property is null, so it's crashing when when calling speedSlider.slider.value.
SliderEvents.Start initializes the slider property. VesselPropertiesPanel.Start calls clear, which expects SliderEvents.Start to have already been called. The order that the Start event is called isn't completely deterministic, so while it worked in your favor in Standalone, SliderEvents.Start is being called after VesselPropertiesPanel.Start on WebGL, so speedSplider hasn't been initialized yet and it's slider property is still null when Clear is trying to set its value.