Description

Using the ServerTravel console command to switch to a different level while a physics vehicle is in the current level will trigger an assert.

Steps to Reproduce
  1. Create a new project using the C++ Vehicle template.
  2. Build the project in Visual Studio.
  3. Open the project in the Editor.
  4. Create and save a new empty level. Name the level empty.umap.
  5. Close the Editor.
  6. In the GameMode.cpp constructor, add the line bUseSeamlessTravel = true;
  7. Build the project in Visual Studio.
  8. Open the project in the Editor.
  9. Start PIE with 2 clients.
  10. In the main Editor window, open the console and enter the command ServerTravel empty.

RESULT:
An assert triggers.

EXPECTED:
The empty level loads.

Callstack
MachineId:926CC4CD4DE75FA30341E2895D619D6E
UserName:TimLincoln

Unknown exception - code 00000001 (first/second chance not available)

Assertion failed: Vehicle != NULL [File:D:\Main-Builds\UE4\Engine\Source\Runtime\Engine\Private\Vehicles\PhysXVehicleManager.cpp] [Line: 222] 

KERNELBASE + 37901 bytes
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() + 285 bytes [d:\main-builds\ue4\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() + 248 bytes [d:\main-builds\ue4\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() + 1042 bytes [d:\main-builds\ue4\engine\source\runtime\core\private\misc\outputdevice.cpp:224]
UE4Editor_Engine!FPhysXVehicleManager::RemoveVehicle() + 71 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\vehicles\physxvehiclemanager.cpp:223]
UE4Editor_Engine!UWheeledVehicleMovementComponent::DestroyPhysicsState() + 82 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\vehicles\wheeledvehiclemovementcomponent.cpp:620]
UE4Editor_Engine!UActorComponent::ExecuteUnregisterEvents() + 93 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\actorcomponent.cpp:832]
UE4Editor_Engine!UActorComponent::UnregisterComponent() + 390 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\actorcomponent.cpp:680]
UE4Editor_Engine!AActor::UnregisterAllComponents() + 166 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\actor.cpp:3092]
UE4Editor_Engine!ULevel::ClearLevelComponents() + 244 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\level.cpp:655]
UE4Editor_Engine!UWorld::ClearWorldComponents() + 129 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\world.cpp:1143]
UE4Editor_Engine!UWorld::CleanupWorld() + 516 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\world.cpp:3053]
UE4Editor_Engine!FSeamlessTravelHandler::Tick() + 3486 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\world.cpp:4620]
UE4Editor_Engine!UEngine::TickWorldTravel() + 65 bytes [d:\main-builds\ue4\engine\source\runtime\engine\private\unrealengine.cpp:8251]
UE4Editor_UnrealEd!UEditorEngine::Tick() + 3688 bytes [d:\main-builds\ue4\engine\source\editor\unrealed\private\editor.cpp:1171]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() + 22 bytes [d:\main-builds\ue4\engine\source\editor\unrealed\private\unrealedengine.cpp:290]
UE4Editor!FEngineLoop::Tick() + 4088 bytes [d:\main-builds\ue4\engine\source\runtime\launch\private\launchengineloop.cpp:2221]
UE4Editor!GuardedMain() + 478 bytes [d:\main-builds\ue4\engine\source\runtime\launch\private\launch.cpp:131]
UE4Editor!GuardedMainWrapper() + 26 bytes [d:\main-builds\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() + 249 bytes [d:\main-builds\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__tmainCRTStartup() + 329 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Simulation - Physics
Affects Versions4.5.14.7
Target Fix4.8
Fix Commit2473099
CreatedNov 25, 2014
ResolvedMar 9, 2015
UpdatedApr 27, 2018