Search Issue Tracker
Fixed in 5.4.4
Fixed in 5.3
[5.3+][Graphics] Destroying a shader might cause stale pointers in SharedMaterialData, leading to a crash
Looks like if there's a Material with some shader on it, then destroying the shader (either explicitly, or via asset bundle unload) might lead to stale pointers in some material data, which causes a crash later on. Seems to happen starting with 5.3 (in some cases), and happens in more cases in 5.4+.
--- New repro steps:
1. Open ShaderDeletionCausesStaleMaterialDataPointers-52project.zip project
2. Open scene it in, press play.
Reproduced in: 5.3.6, 5.4.2, 5.6 alpha
Does not reproduce in: 5.2.1.
--- Previous repro steps from original bug report:
1. Open "Homework.zip" project
2. Load "Homework" scene
3. In the menu toolbar find wtf > LoadAssetBundle and click on it
Note: Cube should be loaded, check "StreamingAssets folder" for files called "cube"
0x0000000140120B36 (Unity) RenderLoopContext::`scalar deleting destructor'
0x0000000140121223 (Unity) DoRenderLoop
Expected: A cube should be created and Editor should not crash
Actual: A cube is not created, Editor crashes
Reproduced on: 5.4.2f2, 5.5.0b11, 5.6.0a3
Not reproducible on: 5.3.6p8
Could not test on 5.2 due to errors
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [OSX] Editor windows flicker in Play Mode when dragging and docking windows with Metal Editor Support enabled
- Popup Window propagates input in its calling Window underneath and all other Windows
- [XR] Vulkan graphics device lacks support for additional graphics queue when using Oculus XR provider
- [TransformTool] Shift rotate always reset the rotation value when used
- Editor stops repainting and throws exceptions when creating new Scene inside AssetDatabase.StartAssetEditing()