Hi
I got crash in UCrowdManager::BeginDestroy:
Engine version 4.4 compiled from sources.
Stacktrace:
> UE4Editor-AIModule-Win64-Debug.dll!UCrowdManager::BeginDestroy() Line 168 C++
UE4Editor-CoreUObject-Win64-Debug.dll!UObject::ConditionalBeginDestroy() Line 532 C++
UE4Editor-CoreUObject-Win64-Debug.dll!CollectGarbage(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 1156 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::EndPlayMap() Line 196 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 837 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 252 C++
UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 2098 C++
UE4Editor-Win64-Debug.exe!EngineTick() Line 54 C++
UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 136 C++
UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 190 C++
Crash’s place in the code:
// cleanup allocated link filters
for (auto It = ActiveAgents.CreateConstIterator(); It; ++It)
{
const FCrowdAgentData& AgentData = It.Value();
delete AgentData.LinkFilter; <----- HERE!
}
+ LinkFilter 0xcccccccccccccccc {...} dtQuerySpecialLinkFilter *
PrevPoly 0 unsigned __int64
AgentIndex -1 int
PathOptRemainingTime 0.000000000 float
bIsSimulated 0 unsigned int
bWantsPathOptimization 0 unsigned int
LinkFilter is unitialized and I think it should be zeroed in FCrowdAgentData constructor. and be checked before deleting.