Search Issue Tracker

Fixed in Unity 5.4.0

Votes

0

Found in

5.4.0b13

Issue ID

784423

Regression

No

Crash in SplatDatabase::GetBasemap() and assert errors appear after deleting asset files, when GameView without Camera is active

Terrain

-

-

Priority: 5Not yet prioritized for a release

-

Severity: 2Core functionality majorly impacted

Prerequisites:
Download 'The Wasteland' package from Asset Store (https://www.assetstore.unity3d.com/en/#!/content/48802).

Steps to repro:

1. Open Unity on OSX;
2. Create new project;
3. Import 'The Wasteland' package;
4. In the Project folder go to 'Assets -> The Wasteland Package -> Demo_Scenes';
5. Launch any scene from the demo scenes folder;

6. Notice that on OSX lightmap baking process starts right after launching scene and finishes just in a few moments;
8. Select Scene view tab;
9. Double click on any gameobject in the Hierarchy view;
10. Scroll out and move/rotate the viewpoint in the Scene view;
11. Click Game view tab - notice that 'No Cameras Rendering' text is displayed (important step in the repro!);
12. In the Project tab delete 'The Wasteland package' folder (either by pressing Delete button or by right mouse click - Delete option).

Actual result:
Unity crashes and weird asserts errors appear in the console (see attached gif video and actual.png screenshot):

'renderer.terrain->GetTerrainData ().IsValid ()
UnityEditor.SceneView:OnDisable()'

On Windows 10 only errors appear without crash. However, the bug behaviour may vary through different Windows versions and hardware settings.

Last calls obtained from the stacktrace:
#0 0x0000010225987a in SplatDatabase::GetBasemap() const
#1 0x0000010225b654 in SplatMaterials::GetSplatBaseMaterial() const
#2 0x00000102587af7 in RenderAllTheObjects(GIRenderType, dynamic_array<AlbedoRendererObject, 4ul> const&, eRenderTextureType)
#3 0x00000102586f3e in RenderObjects(eRenderTextureType, int, int, dynamic_array<AlbedoRendererObject, 4ul> const&, GIRenderType, Image&)
#4 0x0000010258716b in RenderAlbedo(int, int, dynamic_array<AlbedoRendererObject, 4ul> const&, ColorRGBA32*, int, int, GIRenderType, bool, ChartMask const*)
#5 0x000001025995d4 in UpdateAlbedo(Geo::GeoGuid const&, bool, bool)

Expected result:
- Unity should not crash when removing asset files when Game View tab when no camera rendering is active;
- Assert errors should not appear after removing asset files from Project tab (this might be a separate bug though).

Notes:
- This bug's behaviour varies between different operational systems. On OSX 10.11.3 both error and crash reproduce, on Windows ONLY assert errors WITHOUT crash reproduce. Possible reason of this lies in inconsistent behaviour of lightmap baking process, e.g. when opening Wasteland scene on OSX - the lightmap starts and finishes in several seconds, while on Windows full lightmap cycle is started and it takes much more time (in this case, when deleting asset files, Editor doesn't crash);
- Reproducible in: 5.4.0b13, 5.4.0b12, 5.3.4p1;
- From the first sight this bug might be triggered by either Terrain or GI lightmapping engine issue;
- Crash doesn't repro when Game View tab is not active (in this case only errors are shown).

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.