Search Issue Tracker
Fixed in 5.4.4
Fixed in 5.3.X
[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.
- The Physics 2D Profiler module does not display the information about processed physics in the scene when profiling the application as a Development Build
- A Script Component that has a serialized custom class is not detecting changes in the first boolean variable when entering the Play mode with the Script Components GameObject opened in the Inspector
- “SendMessage cannot be called during Awake“ warnings appear when loading a scene with “LoadSceneAsync“ if using UI Toolkit in the scene
- Audio Source Spatial Blend value gets set to 1 in the WebGL Player when the Spatial Blend value is bigger than 0
- [Linux] Crash on g_type_check_instance_cast after changing Editor layout, creating a new VR template or HDRP project