[4.2] Commandline Multiplayer: SetMouseSensitivity during client join crashes server

#Update

The persistent crash I am having is that if I call SetMouseSensitvity on the client when the client is first joining the server, it crashes, every time.

See below for full discovery process


Dear Friends at Epic,

Commandline Multiplayer games are completely broken* in 4.2 !

* = mostly broken**

** = not broken at all except a crash related to SetMouseSensitivity


By this I mean independent game instances, the editor is never loaded.

Every time I try to add a LOCAL client (127.0.0.1) to my listen server, using the same network code I’ve been using since the beta

my game crashes!

The line varies, it is not always consistent

one such crash is here

#Player Input Related Crash

I added a check to ensure player input is valid but it doesnt stop the crash

#code

//~~~ Initial Mouse Sensitivity ~~~
if(PlayerInput) 
{
  PlayerInput->SetMouseSensitivity(MouseSensitivity);
}

#Crash

The crash is on the server, the client has no input, I can’t move the character, but I can close the instance cleanly

#log on Server
[2014.06.09-22.35.09:420][393]LogNet: Join succeeded: Victory-3CDC10CF4DEC
[2014.06.09-22.35.11:254][418]LogWindows: === Critical error: ===
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000000e0

[2014.06.09-22.35.11:254][418]LogWindows: Fatal error!

UPlayerInput::SetMouseSensitivity() 0xe1615b9a + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\userinterface\playerinput.cpp:278] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
AVictoryGamePlayerController::JoyInit() 0xd75c3c0f + 0 bytes [File=c:\users\rama\documents\unreal projects\victorygame\source\victorygame\private\base\victorygameplayercontroller.cpp:822] [in C:\Users\Rama\Documents\Unreal Projects\VictoryGame\Binaries\Win64\UE4Editor-VictoryGame.dll]
FTimerUnifiedDelegate::Execute() 0xe0fd32da + 9 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\public\timermanager.h:45] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
FTimerManager::Tick() 0xe1023ecd + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\timermanager.cpp:320] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UWorld::Tick() 0xe0c87347 + 15 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\leveltick.cpp:1160] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UGameEngine::Tick() 0xe0b15947 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\gameengine.cpp:897] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
FEngineLoop::Tick() 0x3f1f7b03 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launchengineloop.cpp:2091] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
GuardedMain() 0x3f1ed1ec + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launch.cpp:132] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
GuardedMainWrapper() 0x3f1ed25a + 5 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:125] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
WinMain() 0x3f1f9119 + 17 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:207] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
__tmainCRTStartup() 0x3f1f9fa9 + 21 bytes [File=f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
Address = 0x77a6652d (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x77c9c521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]
Address = 0x77c9c521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]

[2014.06.09-22.35.11:255][418]LogExit: Executing StaticShutdownAfterError
[2014.06.09-22.35.11:269][418]LogWindows: FPlatformMisc::RequestExit(1)
[2014.06.09-22.35.11:269][418]Log file closed, 06/09/14 18:35:11

#client

The client freezes in place and has no input , but also no crashes

#Another Crash

If I comment out the SetMouseSensitivty lines

then I get this crash instead, these crashes are happening as soon as the client joins the listen server.

And the crash is on the listen server first.

[2014.06.09-23.10.51:204][444]LogNet: Join succeeded: Victory-5CB32E93483E
[2014.06.09-23.10.52:798][444]LogWindows: === Critical error: ===
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000013c

[2014.06.09-23.10.52:799][444]LogWindows: Fatal error!

ACharacter::PreReplication() 0xdd712257 + 7 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\character.cpp:1086] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UNetDriver::ServerReplicateActors() 0xdda74d83 + 40 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\networkdriver.cpp:1990] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UNetDriver::TickFlush() 0xdda7aa85 + 9 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\networkdriver.cpp:128] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
TBaseUObjectMethodDelegateInstance_OneParam<UNetDriver const ,void,float>::ExecuteIfSafe() 0xdda545f7 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\public\delegates\delegateinstancesimpl.inl:654] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
TBaseMulticastDelegate_OneParam<void,float>::Broadcast() 0xdd5db433 + 14 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:1815] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UWorld::Tick() 0xdd9d8168 + 15 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\leveltick.cpp:1238] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
UGameEngine::Tick() 0xdd865947 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\gameengine.cpp:897] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
FEngineLoop::Tick() 0x3fab7b03 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launchengineloop.cpp:2091] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
GuardedMain() 0x3faad1ec + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launch.cpp:132] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
GuardedMainWrapper() 0x3faad25a + 5 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:125] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
WinMain() 0x3fab9119 + 17 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:207] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
__tmainCRTStartup() 0x3fab9fa9 + 21 bytes [File=f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor.exe]
Address = 0x77a6652d (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x77c9c521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]
Address = 0x77c9c521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]

#Percent of Crash

The line that the crash is now occurring on consistently is this

ACharacter::PreReplication() 0xdd712257 + 7 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\character.cpp:1086]

and the % of crash is roughly 50/50

if it doesnt crash, everything is normal…50% of the time.

#this never happened in beta3 thru 4.1.1

#Crash Update

Actually it is only happening, ~100% of the time, if I load the server and then load the client before the server has had a to fully load.

What used to happen in 4.1.1 in this case is that the client would be rotated funny and I’d have to restart anyways.

so now it just crashes completely instead.

Rama

#Crash Update 2

above update was premature

it still is crashing even if I give the server plenty of time to load, if I use the Set Mouse sensitivity line

[2014.06.09-23.25.32:489][133]LogNet: Join succeeded: Victory-50B9DA1247D7
[2014.06.09-23.25.34:449][155]LogWindows: === Critical error: ===
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000000e0

[2014.06.09-23.25.34:449][155]LogWindows: Fatal error!

UPlayerInput::SetMouseSensitivity() 0xe0995b9a + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\userinterface\playerinput.cpp:278] [in E:\VictoryUE4\UnrealEngine-4.2\Engine\Binaries\Win64\UE4Editor-Engine.dll]
AVictoryGamePlayerController::JoyInit() 0xd7af3c0f + 0 bytes [File=c:\users\rama\documents\unreal projects\victorygame\source\victorygame\private\base\victorygameplayercontroller.cpp:822] [in C:\Users\Rama\Documents\Unreal Projects\VictoryGame\Binaries\Win64\UE4Editor-VictoryGame.dll]

#Summary

#there is a definitive crash related to SetMouseSensitivity in Multiplayer games

I await your response

Hey

We were not able to investigate this on the engine version you reported, but there have been many version changes to UE4 since this question was first posted. With a new version of the Engine comes new fixes and it is possible that this issue has changed or may no longer occur. Due to timetable of when this issue was first posted, we are marking this post as resolved for tracking purposes.

If you are still experiencing the issue you reported in the current engine version, then please respond to this message with additional information and we will investigate as soon as possible. If you are experiencing a similar, but different issue at this time, please submit a new report for it.

Thank you.