Our game uses matinees throughout to control objects and trigger events at specific times. Using a packaged build on two different machines connected by wireless ethernet, in multiplayer there is a random crash attempting to tick an AMatineeActor. All AMatineeActors are placed in level or sub-levels using editor (not manually spawned), but it appears that AMatineeActor’s World pointer is null, which causes a crash as it attempts to call UWorld::GetWorldSettings in AActor::Tick function. It is possible that crashing AMatineeActor is in a steamed-in sublevel. I assume that there are guards to prevent objects with null worlds from ticking. Is there a known cause for this kind of crash, or a way to work around it?
We are running 4.4.0 compiled from source. So far we have seen this in shipping and development builds but haven’t been able to reproduce it in debug. Here is our crash stack:
UWorld::GetWorldSettings() 0x405368cf + O bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\world.cpp:3208] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
AActor::Tick() 0x402aeff7 + 19 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\actor.cpp:754] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
AMatineeActor::Tick() 0x403924a6 + O bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\interpolation.cpp:587] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
AActor::TickActor() 0x402af1bd + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\engine\private\actor.cpp:748] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
TGraphTask< FTickTaskSequencer::FTickFunctionTask>::ExecuteTask() 0x40505dee + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\core\public\async\taskgraphinterfaces.h:675] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskThread::ProcessTasks() 0x3fd9a58b + O bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:329] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskThread::ProcessTasksUntilQuit() 0x3fd9a6cd + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:173] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskGraphlmplementation::WaitUntilTasksComplete() 0x3fda3929 + O bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:865] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTaskGraphInterface::WaitUntilTaskCompletes() 0x3fdf996d + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\core\public\async\taskgraphinterfaces.h:183] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTickTaskSequencer::ReleaseTickGroup() 0x40518ae6 + 206 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\ticktaskmanager.cpp:181] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FTickTaskManager::RunTickGroup() 0x4051b32f + O bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\ticktaskmanager.cpp:714] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
UWorld::Tick() 0x403dbaeb + 21 bytes [File= c:\gamedev\Game\ue4\engine\source\runtime\engine\private\leveltick.cpp:1108] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
UGameEngine::Tick() 0x4035e23c + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\engine\private\gameengine.cpp:873] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
FEngineLoop::Tick() 0x3fd3b13d + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\launch\private\launchengineloop.cpp:2098] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
GuardedMain() 0x3fd3725c + O bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\launch\private\launch.cpp:133] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
GuardedMainWrapper() 0x3fd372aa + 5 bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:125] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
WinMain() 0x3fd3ba2O + 17 bytes [File=c:\gamedev\Game\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:201] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
_tmainCRTStartup() 0x40f5cd2d + 21 bytes [File=f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] [in C:\gamedev\Game\GameRelease\WindowsNoEditor\Game\Binaries\Win64\Game-Win64-Shipping.exe]
Address = 0x76c859ed (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x76ebc541 (filename not found) [in C:\Wind0ws\SYSTEM32\ntdll.dll]
Address = 0x76ebc541 (filename not found) [in C:\Wind0ws\SYSTEM32\ntdll.dll]