Hi,
We are having issues with the level streaming, in one map we decided to break it into smaller sections and stream in and out the levels we no longer need. Unfortunately we seem to be getting a inconsistent crash in standalone/pc/ps4 builds.
The crash on the standalone occurs after a level has been unloaded and a assertion fails with the UObjectLinker and we are using UE4.7
[2015.05.01-15.14.58:455][323]LogLevel: ActivateLevel /Temp/Autosaves/Game/Maps/Chapter_01/UEDPCChapter_01_Ground_Floor_01 0 0 0
[2015.05.01-15.14.58:495][324]LogWindows:Error: Windows GetLastError: The operation completed successfully. (0)
[2015.05.01-15.15.00:918][324]LogWindows: === Critical error: ===
Assertion failed: !HasAnyFlags(RF_NeedLoad|RF_NeedPostLoad) [File:D:\Programs\UE4_QA_4.7.4\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectLinker.cpp] [Line: 96]
Detaching from existing linker for ../../../../../Projects/The Assembly V2/trunk/TheAssembly/Content/Props/Materials/M_Periodic_Table.uasset while object SceneThumbnailInfoWithPrimitive /Game/Props/Materials/M_Periodic_Table.M_Periodic_Table:None needs loaded
KERNELBASE.dll!UnknownFunction (0x00007ffe2cfa8b9c) + 0 bytes [UnknownFile:0]
UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x00007ffe0ce85914) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor-Core.dll!FOutputDevice::Logf__VA() (0x00007ffe0cd070b8) + 159 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor-Core.dll!FDebug::AssertFailed() (0x00007ffe0cce8357) + 62 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\core\private\misc\outputdevice.cpp:224]
UE4Editor-CoreUObject.dll!UObject::SetLinker() (0x00007ffe1ff41948) + 148 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\coreuobject\private\uobject\uobjectlinker.cpp:96]
UE4Editor-CoreUObject.dll!UObject::BeginDestroy() (0x00007ffe1fe5bac7) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\coreuobject\private\uobject\obj.cpp:456]
UE4Editor-CoreUObject.dll!UObject::ConditionalBeginDestroy() (0x00007ffe1fe5edcf) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\coreuobject\private\uobject\obj.cpp:567]
UE4Editor-CoreUObject.dll!CollectGarbage() (0x00007ffe1fe5e87e) + 5 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:1152]
UE4Editor-Engine.dll!UWorld::Tick() (0x00007ffe0a3c87ba) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\engine\private\leveltick.cpp:1285]``
UE4Editor-Engine.dll!UGameEngine::Tick() (0x00007ffe0a1bf80d) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\engine\private\gameengine.cpp:830]
UE4Editor.exe!FEngineLoop::Tick() (0x00007ff79cd3d783) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\launch\private\launchengineloop.cpp:2257]
UE4Editor.exe!GuardedMain() (0x00007ff79cd3089c) + 0 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor.exe!GuardedMainWrapper() (0x00007ff79cd3090a) + 5 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor.exe!WinMain() (0x00007ff79cd3ee49) + 17 bytes [d:\programs\ue4_qa_4.7.4\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor.exe!__tmainCRTStartup() (0x00007ff79cd3fe09) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
KERNEL32.DLL!UnknownFunction (0x00007ffe2d5513d2) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ffe30e503c4) + 0 bytes [UnknownFile:0]
ntdll.dll!UnknownFunction (0x00007ffe30e503c4) + 0 bytes [UnknownFile:0]
Unfortunately the reproducibility of this bug seems dependent on which machine runs it in standalone mode but it does seem to occur to only materials that are used in one prop which is unloaded. But the problem goes away if we delete a directional light from the scene, this directional light is in a level that is unloaded earlier!
Any idea what could be occurring here?
Is the directional light keeping references? or clearing?
I also was wondering if their was a way of seeing how many objects/components being loaded when a level is being streamed? it would be useful in working out which levels need to be broken up further.