Description

When a user loads into a level that spawns replicated actors using manually placed blueprints twice using ServerTravel with Seamless Travel enabled it will crash. It looks like the engine can't find the replicated actor to be spawned in the NetGUIDLookup map which is being set to default values in PackageClientMap.cpp line 2300.

Found in 4.23.0 CL#8286587
Reproduced in 4.24 Main CL#8781358

Steps to Reproduce

1. Create a new project.
2. Create a blueprint that spawns any number of actors on the world on Begin Play. Place it in the default level.
3. Make a blueprint, SeamlessBP, that activates a seamless travel to the default level when the player overlaps with it using "Execute Console Command" when it has Authority (Node setup in attached image). Place it in the default level.
4. Alter the gamemode setting "Use Seamless Travel" to true.
5. Go to Editor Preferences->Play->Multiplayer Options and set:
a. "Use Single Process" to false
b. "Editor Multiplayer Mode" to "Play As Client"
*Settings shown in attached image.
6. Play the scene and run into SeamlessBP.
7. After the level loads run into the SeamlessBP again.

Results: The project crashes.

Expected: The level would load like normal.

Callstack

LoginId:9a8d08644d702ac44f074090ac311686
EpicAccountId:580fb2844ad145d79dff08f42acea7c6

Assertion failed: !It.Value().Object.IsValid() || NetGUIDLookup.FindRef(It.Value().Object) == It.Key() || It.Value().ReadOnlyTimestamp != 0 [Link Removed] [Line: 2298] Failed to validate ObjectLookup map in UPackageMap. Object '/Game/Repro/ReplicatedActor_BP' was not in the NetGUIDLookup map with with value '23'.

UE4Editor_Core!FWindowsErrorOutputDevice::Serialize() [d:\build\++ue4\sync\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:79]
UE4Editor_Core!FOutputDevice::LogfImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:71]
UE4Editor_Core!AssertFailedImplV() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:101]
UE4Editor_Core!FDebug::CheckVerifyFailedImpl() [d:\build\++ue4\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:445]
UE4Editor_Engine!DispatchCheckVerify<void,<lambda_a48561c3fb2315a1595df2ee9616cd53> >() [d:\build\++ue4\sync\engine\source\runtime\core\public\misc\assertionmacros.h:164]
UE4Editor_Engine!FNetGUIDCache::CleanReferences() [d:\build\++ue4\sync\engine\source\runtime\engine\private\packagemapclient.cpp:2298]
UE4Editor_Engine!FSeamlessTravelHandler::Tick() [d:\build\++ue4\sync\engine\source\runtime\engine\private\world.cpp:6285]
UE4Editor_Engine!UEngine::TickWorldTravel() [d:\build\++ue4\sync\engine\source\runtime\engine\private\unrealengine.cpp:11981]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\editorengine.cpp:1610]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:407]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:4257]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:173]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:147]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:279]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-80587 in the post.

6
Login to Vote

Fixed
ComponentUE - Networking
Affects Versions4.234.24
Target Fix4.24
Fix Commit8997490
Main Commit8997490
Release Commit9552237
CreatedSep 19, 2019
ResolvedOct 1, 2019
UpdatedOct 28, 2019