Search Issue Tracker
Fixed in 5.4.0
Votes
0
Found in
5.4.0b3
Issue ID
764609
Regression
No
[ShaderCompiler]Editor crashes when closing if the shader compiler crashed while running
Steps to reproduce:
1. Open Unity;
2. Open attached project and 'test.unity' scene;
3. Open 'DynamicIndexing.shader' file in shader code Editor (MonoDevelop/Visual Studio);
4. Set uniform shader to some big value (in my case uniform float _Floats[10000]; at line 38);
5. Save shader file and return to Editor;
6. Notice that 2 errors have appeared in the console:
'Shader compiler: internal error compiling shader snippet type=1 platform=4: Protocol error - failed to read correct magic number '
and
'Shader error in 'Custom/ShaderUniformArrayTest/DynamicIndexing': Internal error communicating with the shader compiler process'
7. Quit Editor by right clicking on a tray icon and pressing Quit.
Actual result:
Unity crashes (see attached 2 attached gif videos for OSX and Windows repro).
Last 5 calls form the stacktrace:
#0 0x007fff8dfeb434 in pthread_mutex_lock
#1 0x00000101615a98 in CleanupShaderCompilerClient()
#2 0x00000100c3477b in Object::CleanupAllClasses()
#3 0x000001011054db in CleanupEngine()
#4 0x0000010148a69d in AssetInterface::Shutdown()
Expected results:
Unity should not crash when closing Editor with exceeded uniform shader array capacity.
Notes:
- Reproduces on both OSX 10.11.2 and Windows 10;
- Reproduces in 5.4.0b3, 5.4.0b2, 5.4.0.b1, 5.4.0a6;
- Happens only when 2 errors mentioned above are displayed in the console (that said, for instance, when setting extremely big number, like, 10000000000 to array dimension - the issue doesn't reproduce);
- Doesn't happen when entering Play mode after receiving shader compiler errors and closing Editor;
- Happens only when Shader compiler triggers specific shader error in the opened project (that said - if opening Editor with already exceeded uniform array code and closing it - the crash will not repro).
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Sprite artefacts appear when Sprite Packer is enabled
- Crash on ResizeScriptingList<ScriptingObjectPtr> when passing an undeclared variable to the results parameter for GameObject.FindGameObjectsWithTag
- [Android] "Screen.safeArea.y" always returns values outside of the Safe Area when the device is in Portrait orientation
- Frame spike due to many TreeRenderer.TreeUpdated calls when repositioning terrains in large Scenes
- Crash on GameObject::RemoveComponentFromGameObjectInternal when reparenting Text GameObjects
Add comment