iOS crashes after second reconnect

Hey guys,

we are working on a project that requires a client-host connection between an iPad and a PC. Both the PC and iPad load and play the same map(s). We managed to work with Unreal’s networking features perfectly until we wanted to implement a reset feature. The reset feature allows us to return from a scene back to another scene where we have the option to choose which map we would like to load.

When the player has chosen a level on the client, the server is notified and will try to load it. This results in the NetworkEvent firing in the GameInstance class. We overrode this event so that we may let the client retry connecting to the server. This setup works perfectly fine the first time we load our map resulting in both the server and the client running the same map. When we choose to reset the application by returning to the previous level selection scene, the client continues to run until another (or the same) map is loaded on the server. The client then loses connection, tries to reconnect, but instead of doing so successfully, the entire app crashes. In short, the connection works the first time, but each subsequent attempt fails.

This crash seems to be limited only to the iPad version, as running this setup with both applications on a PC works as intended. I included the crash log of the iPad fetched from …\4.13\Engine\Binaries\DotNET\IOS\IOS_Backups....\Saved\Logs at the bottom.

DebugOpeningScene
      v
InitialUserSelectionScene
      v ^               v ^          v ^
[selectedMap0]    [selectedMap1]    [...]

Above is a short overview of the flow of the application.

CrashLog.txt

The issue has since been fixed. We were loading an enormous amount of unoptimized assets (the worst offender were high poly meshes) on the iPad that had snuck their way into the project. We no longer have crashes after an optimization pass.