Search Issue Tracker
Fixed
Fixed in 2021.3.34f1, 2022.3.16f1, 2023.2.3f1, 2023.3.0a13
Votes
2
Found in
2021.3.28f1
2022.3.4f1
2023.1.4f1
2023.2.0a23
Issue ID
UUM-42366
Regression
No
Editor crashes on Camera::GetCameraRect when calling renderingDisplaySize on a nested Canvas GameObject
How to reproduce:
1. Open the “IN-46239_NestedCanvas_repro.zip“ project
2. Open the “SampleScene“
3. Select the “Canvas2“ GameObject
4. Right-click on the Test.cs component and select “Crash Unity“
Expected result: Editor continues to run
Actual result: Editor crashes
Reproducible with: 2021.3.28f1, 2022.3.4f1, 2023.1.4f1, 2023.2.0a23
Reproducible on: Windows 10
First few lines of the Stack Trace:
0x00007ff7253f5bcf (Unity) Camera::GetCameraRect
0x00007ff72607ad19 (Unity) UI::Canvas::GetRenderingDisplaySize
0x00007ff724d79e07 (Unity) Canvas_CUSTOM_get_renderingDisplaySize_Injected
0x000001d47608009c (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Canvas:get_renderingDisplaySize_Injected (UnityEngine.Canvas,UnityEngine.Vector2&)
0x000001d47605fe63 (Mono JIT Code) UnityEngine.Canvas:get_renderingDisplaySize ()
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
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
JohannesDemlInnoGames
Jul 20, 2023 05:28
You can reproduce the issue by creating a new canvas and trying to access the render size right away:
```
public static void GetCanvasDisplaySizeCrash()
{
GameObject gameObject = new GameObject("TestCanvas");
var canvas = gameObject.AddComponent<Canvas>();
var renderingDisplaySize = canvas.renderingDisplaySize;
Debug.Log($"x: {renderingDisplaySize.x}, y: {renderingDisplaySize.y}");
}
```