Search Issue Tracker
Fixed in 2021.3.34f1
Fixed in 2021.3.X, 2022.3.X, 2023.2.X, 2023.2.3f1, 2023.3.X
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 ()
Comments (1)
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
- LocalizationSettings.InitializationOperation hangs when re-entering Play Mode with Domain Reload disabled
- [UI Toolkit] Delete key deletes the incorrect character and allows for an extra character deletion when language direction is set to RTL
- Dropdown property is cut off and adds unnecessary side padding when a Sub Graph is used as a node in Shader Graph
- All text in the Project Settings Window is still Tinted White after deleting Text in the Search Window
- "WebGL Template" icons disappear when building the project with the Project Settings opened
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}");
}
```