Honestly not sure if this is actually a UE4 bug or not but:
I packaged my project in shipping mode, with debug files, and let it run overnight.
The level I was testing was setup so AI would just endlessly spawn in(up to a max count).
The idea was to test if the program could last that long without problems.
I awoke the next morning(~9 hours later) to a crash notification:
(crash files creation time was only 2 hours after I started the run)
Access violation - code c0000005 (first/second chance not available)
OrtCloud_Win64_Shipping!AOrtCloudGameMode_FleetBrawl::Tick() [f:\documents\unreal projects\ortcloud3\source\ortcloud\ortcloudgamemode_fleetbrawl.cpp:2414]
OrtCloud_Win64_Shipping!AActor::TickActor()
OrtCloud_Win64_Shipping!FTickFunctionTask::DoTask()
OrtCloud_Win64_Shipping!TGraphTask<FTickFunctionTask>::ExecuteTask()
OrtCloud_Win64_Shipping!FNamedTaskThread::ProcessTasksNamedThread()
OrtCloud_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit()
OrtCloud_Win64_Shipping!FTaskGraphImplementation::WaitUntilTasksComplete()
OrtCloud_Win64_Shipping!FTickTaskSequencer::ReleaseTickGroup()
OrtCloud_Win64_Shipping!FTickTaskManager::RunTickGroup()
OrtCloud_Win64_Shipping!UWorld::Tick()
OrtCloud_Win64_Shipping!UGameEngine::Tick()
OrtCloud_Win64_Shipping!FEngineLoop::Tick()
OrtCloud_Win64_Shipping!GuardedMain()
OrtCloud_Win64_Shipping!GuardedMainWrapper()
OrtCloud_Win64_Shipping!WinMain()
OrtCloud_Win64_Shipping!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:255]
kernel32
ntdll
The line with *** is the line the call stack is pointing too:
GameStatus = -1
...
DBInt1 = 0;
int32 TempCCount = 0;
for (size_t t = 0; t < CommandCarriers.Num(); t++)
{
***if (CommandCarriers.IsValidIndex(t) && IsValid(CommandCarriers[t]))
{
TempCCount++;
DBInt1++;
} else if (CommandCarriers.IsValidIndex(t) && !IsValid(CommandCarriers[t]))
{
if (GameStatus >= 0)
{
HandleAISpawns(t+1);
}
}
}
What confuses me is that I don’t see anything in my code that could potentially be an Access violation.
Am I correct in this conclusion, or am I missing something?