Fatal error after server travel

We have custom build of the 4.15 unreal engine with dedicated server. Everything works fine when the players number less than 3, but then it crashes with an fatal error. In addition, with 2 players connected it may also crash in Development build, that is why we used to use Shipping one. However, recently we have realized that crash fires always on server travel, when we have 3 or more players. For more details, we are using seamless travel. Moreover, server had never face that crash, it affects only some of connected clients, sometimes all of them. Clients that didn’t crash continue to play properly.


Crash log:

[2017.05.15-10.04.57:801][746]LogWindows:Error: === Critical error: ===
[2017.05.15-10.04.57:801][746]LogWindows:Error: 
[2017.05.15-10.04.57:801][746]LogWindows:Error: Fatal error!
[2017.05.15-10.04.57:801][746]LogWindows:Error: 
[2017.05.15-10.04.57:801][746]LogWindows:Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffff
[2017.05.15-10.04.57:801][746]LogWindows:Error: 
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UObjectProperty::SerializeItem()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UArrayProperty::SerializeItem()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FPropertyTag::SerializeTaggedProperty()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UStruct::SerializeTaggedProperties()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FComponentInstanceDataCache::FComponentInstanceDataCache()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FActorComponentInstanceData::ApplyToComponent()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FSceneComponentInstanceData::ApplyToComponent()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FPrimitiveComponentInstanceData::ApplyToComponent()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FStaticMeshComponentInstanceData::ApplyToComponent()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FComponentInstanceDataCache::ApplyToActor()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!AActor::ExecuteConstruction()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!AActor::FinishSpawning()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UChildActorComponent::CreateChildActor()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UActorComponent::ExecuteRegisterEvents()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UActorComponent::RegisterComponentWithWorld()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!AActor::IncrementalRegisterComponents()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!ULevel::IncrementalUpdateComponents()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UWorld::UpdateWorldComponents()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UWorld::InitializeActorsForPlay()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FSeamlessTravelHandler::Tick()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UEngine::TickWorldTravel()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!UGameEngine::Tick()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!FEngineLoop::Tick()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!GuardedMain()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!GuardedMainWrapper()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!WinMain()
[2017.05.15-10.04.57:801][746]LogWindows:Error: MOBAVR.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
[2017.05.15-10.04.57:801][746]LogWindows:Error: KERNEL32.DLL!0x00000000353F8364
[2017.05.15-10.04.57:801][746]LogWindows:Error: ntdll.dll!0x00000000355070D1
[2017.05.15-10.04.57:801][746]LogWindows:Error: ntdll.dll!0x00000000355070D1
[2017.05.15-10.04.57:801][746]LogWindows:Error: 
[2017.05.15-10.04.57:818][746]LogExit: Executing StaticShutdownAfterError
[2017.05.15-10.04.57:819][746]LogWindows: FPlatformMisc::RequestExit(1)
[2017.05.15-10.04.57:819][746]Log file closed, 05/15/17 16:04:57

I can provide more information if necessary, thanks in advance.

Found workaround for this fatal error. It was OverrideMaterial property on StaticMesh in child actor of our Pawns. We were creating dynamic material instance and assigning it to static mesh. Now we just destroy our pawn before ServerTravel cause we dont need them. This page doesnt says that pawns are preserved on ServerTravel.

Our clients were sporadically crashing on server travel. I read this post and thought there’s no way that could be our problem because it worked using the console command instead of triggering from game logic. Spent a day debugging fruitlessly. Tried deleting our pawns (with dynamically assigned materials) before server travel and the crashes are gone. Go figure haha.

1 Like