Description

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" 127.0.0.1 -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.

Callstack
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.

0
Login to Vote

Fixed
ComponentNetworking
Affects Versions4.10
Target Fix4.23
Fix Commit6905893
Main Commit6905893
CreatedJan 11, 2016
ResolvedJun 11, 2019
UpdatedSep 28, 2019