When server traveling, client may crash due to lag while attempting to replicate object/property.

Steps to Reproduce
  1. Download Attached project (NEW_CodeLagCrashTest.7z)
  2. Right click on .uproject and select Generate Visual Studio project files
  3. Build the project in VS
  4. Open two command prompts.
  5. In the first:
     "path\to\UE4Editor.exe" "Path\to\CodeLagCrashTest.uproject" TestMap?Listen -game 
  6. In the second:
     "path\to\UE4Editor.exe" "Path\to\CodeLagCrashTest.uproject" -game 
  7. Open command window in host instance (first window) and enter the following arguments:
    Net PktLag=150
    Net PktLagVariance=50
  8. In the host instance, press 2 to start the test. Both windows should flash repeatedly. This is due to ServerTravel being called repeatedly and causing multiple seamless travels.

Result: After running for some amount of time (typically less than a minute), the client will crash after traveling.

Expected: Client never crashes.

Assertion failed: !ObjectNetGUID.IsDefault() && ObjectNetGUID.IsValid()

UE4Editor-Engine.dll!FObjectReplicator::StartReplicating(UActorChannel * InActorChannel) Line 307
UE4Editor-Engine.dll!UActorChannel::FindOrCreateReplicator(UObject * Obj) Line 3266
UE4Editor-Engine.dll!UActorChannel::ProcessBunch(FInBunch & Bunch) Line 2242
UE4Editor-Engine.dll!UActorChannel::ReceivedBunch(FInBunch & Bunch) Line 2125
UE4Editor-Engine.dll!UChannel::ReceivedSequencedBunch(FInBunch & Bunch) Line 290
UE4Editor-Engine.dll!UChannel::ReceivedNextBunch(FInBunch & Bunch, bool & bOutSkipAck) Line 656
UE4Editor-Engine.dll!UChannel::ReceivedRawBunch(FInBunch & Bunch, bool & bOutSkipAck) Line 381
UE4Editor-Engine.dll!UNetConnection::ReceivedPacket(FBitReader & Reader) Line 1232
UE4Editor-Engine.dll!UNetConnection::ReceivedRawPacket(void * InData, int Count) Line 651
UE4Editor-OnlineSubsystemUtils.dll!UIpNetDriver::TickDispatch(float DeltaTime) Line 454
UE4Editor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,UNetDriver,void __cdecl(float)>::ExecuteIfSafe(float <Params_0>) Line 858
UE4Editor-Engine.dll!TBaseMulticastDelegate<void,float>::Broadcast(float <Params_0>) Line 937
UE4Editor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1269
UE4Editor-Engine.dll!UGameEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1159
UE4Editor.exe!FEngineLoop::Tick() Line 3143
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 166
UE4Editor.exe!GuardedMainWrapper(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 134
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 210

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

Login to Vote

Affects Versions4.10
Target Fix4.23
Fix Commit6905893
Main Commit6905893
CreatedJan 11, 2016
ResolvedJun 11, 2019
UpdatedFeb 27, 2020