Search Issue Tracker
Won't Fix
Votes
0
Found in
2017.4.0a1
2020.1.0a23
Issue ID
1219728
Regression
No
Editor and crash reporter both hang upon stack overflow in recursive component script with logging
Editor and crash reporter both hang upon stack overflow in recursive component script
When adding a recursive function which may result in a stack overflow to a component script, the Unity Editor and Crash Reporter will both hang indefinitely. No error is provided and the user will need to kill both processes to recover. This can be reproduced with the following component script:
using UnityEngine;
using UnityEditor;
public class RecursiveComponent : MonoBehaviour
{
void Update()
{
Overflow(0);
}
int Overflow(int start)
{
Debug.Log("Ping");
return start + Overflow(start);
}
}
Steps to reproduce:
- Create a new Unity Project and paste and attach the above script to any object in a scene
- Enter Play Mode
- Observe the editor will hang
- Observe the crash reporter process will also hang
UPDATE: If the logging is removed, Unity appears to then sometimes catch the stack overflow. With logs in place it fails to catch and will hang.
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
- Some UXML Template Asset foldouts appear enabled when all fields inside are disabled
- URP Terrain Demo crash on burst_signal_handler after Generating lighting
- Project window button icons are poorly visible and their shades differ in Light theme
- GC.Alloc called by HDRenderPipeline.LensFlareMergeOcclusionDataDrivenPass() when playing the default HDRP Sample Template project
- Automatic LOD fails and SRP Batcher incompatibility occurs when using spline-based quad-topology meshes
Resolution Note (2020.2.X):
There were attempts to address this issue from the VM team, which were unsuccessful so far. The changes needed would have to be supported in all of Unity if it is decided we should make those changes. In short- the changes required to fix this outweigh the benefits at the moment