The unpossessd controller will not be removed from UWorld::ControllerList unless destroyed. This causes null access to the ControllerList when GC occurs during seamless travel execution. The unpossessed controller belonging to sublevel is the target. The way to avoid this is to intentionally destroy before seamless travel, or following code.
1. player1 create session.
2. player2 joins the session.
3. Spawn AIPawn with Owner at sublevel.
4. SpawnDefaultController for Pawn.
5. Unpossess for Pawn.
6. player1 execute seamless travel.
Crash on server
Succeeded seamless travel
[Attached project repro step]
1. Packaging attached project.
2. Player1 input 1key (create session)
3. Player2 input 2key->3key (find session -> join session)
4. Before matching, player1 input 1key (server travel)
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-71319 in the post.