SmartFoundations / SmartIssueTracker

1 stars 1 forks source link

Camera cause crash in multiplayer #111

Open Sunrizd opened 1 year ago

Sunrizd commented 1 year ago

Describe the bug When the host and the client are far away from eachother the camera feature makes the client crash. Happened while trying to build a Conveyor Lift on a machine.

To Reproduce Steps to reproduce the behavior:

  1. Host a multiplayer session and have someone to join
  2. Be far away from the client ( we were 3km apart, using satisfactory-calc measure tool )
  3. Craft a Conveyor Lift and try to connect it to a machine
  4. Crash

Screenshot of the mod's configuration Please add a screenshot with the settings screen so that we could understand better what is going on.

image

Screenshots/videos If applicable, add screenshots/videos to help explain your problem.

(please complete the following information):

image

Additional context Tried with only Smart activated, crash is still occuring. Game for client does not crash when the host & client are closeby, but the client sees host's feet in the camera. After disabling the camera settings for both the host & the client, no crash.

Here is the crash log from the client: UE4CC-Windows-DE0B4F2740247A683F76ADA72131EEB5_0000.zip

codygp commented 1 year ago

Can confirm, having the same problem. Specifically with lifts and the camera.

FactoryGame-backup-2022.11.16-04.00.55.log

PavelVanecek commented 1 year ago

We just observed the same problem with only Smart! installed. Turning off the camera in settings fixed it.

above-c-level commented 1 year ago

I was able to replicate this issue with a friend, and we were able to find in the crash report some signs pointing towards there being a null reference exception occurring. Specifically the error was Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000, which should be a relatively easy fix since I'd expect it to just be some code somewhere that's like if (camera == null) return; somewhere in SFHologramHelper.cpp.

We were able to consistently reproduce a crash in a client (not host) when creating a conveyor lift anywhere greater than ≈400m or 50 foundations apart.

The full trace is

Version: 211839, IsEditor: No, IsPerforceBuild: No, BuildConfiguration: Shipping, Launcher: Steam, NetMode: Listen Server, IsUsingMods: Yes

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000

FactoryGame_FactoryGame_Win64_Shipping!AFGHologram::SpawnHologramFromRecipe() [D:\BuildAgent\work\78a794e88763017d\UE4\Games\FactoryGame\Source\FactoryGame\Private\Hologram\FGHologram.cpp:111]
FactoryGame_FactoryGame_Win64_Shipping!AFGHologram::SpawnChildHologramFromRecipe() [D:\BuildAgent\work\78a794e88763017d\UE4\Games\FactoryGame\Source\FactoryGame\Private\Hologram\FGHologram.cpp:184]
FactoryGame_SmartFoundations_Win64_Shipping!USFHologramHelper::AddChild() [C:\Users\Alex\Documents\SML\Plugins\SmartFoundations\Source\SmartFoundations\HologramHelper\SFHologramHelper+Children.cpp:160]
FactoryGame_SmartFoundations_Win64_Shipping!USFHologramHelper::RefreshChildrenAmountTo() [C:\Users\Alex\Documents\SML\Plugins\SmartFoundations\Source\SmartFoundations\HologramHelper\SFHologramHelper+Children.cpp:57]
FactoryGame_SmartFoundations_Win64_Shipping!USFHologramHelper::UpdateChildren() [C:\Users\Alex\Documents\SML\Plugins\SmartFoundations\Source\SmartFoundations\HologramHelper\SFHologramHelper.cpp:1524]
FactoryGame_SmartFoundations_Win64_Shipping!ASFSystem::RestoreConfigTo() [C:\Users\Alex\Documents\SML\Plugins\SmartFoundations\Source\SmartFoundations\SFSystem+Restore.cpp:92]
FactoryGame_SmartFoundations_Win64_Shipping!<lambda_195c7140cd6986e497b5e9cfeb61bfd3>::operator()() [C:\Users\Alex\Documents\SML\Plugins\SmartFoundations\Source\SmartFoundations\HologramHelper\SFHologramHelper+Restore.cpp:119]
FactoryGame_SmartFoundations_Win64_Shipping!TBaseFunctorDelegateInstance<void __cdecl(FKey),FDefaultDelegateUserPolicy,<lambda_195c7140cd6986e497b5e9cfeb61bfd3> >::Execute() [C:\Program Files\Unreal Engine - CSS\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:830]
FactoryGame_Engine_Win64_Shipping!FInputActionUnifiedDelegate::Execute() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Classes\Components\InputComponent.h:295]
FactoryGame_Engine_Win64_Shipping!UPlayerInput::ProcessInputStack() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\UserInterface\PlayerInput.cpp:1389]
FactoryGame_Engine_Win64_Shipping!APlayerController::ProcessPlayerInput() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:2534]
FactoryGame_Engine_Win64_Shipping!APlayerController::TickPlayerInput() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:4550]
FactoryGame_Engine_Win64_Shipping!APlayerController::PlayerTick() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:2179]
FactoryGame_FactoryGame_Win64_Shipping!AFGPlayerController::PlayerTick() [D:\BuildAgent\work\78a794e88763017d\UE4\Games\FactoryGame\Source\FactoryGame\Private\FGPlayerController.cpp:289]
FactoryGame_Engine_Win64_Shipping!APlayerController::TickActor() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\PlayerController.cpp:4705]
FactoryGame_Engine_Win64_Shipping!FActorTickFunction::ExecuteTick() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\Actor.cpp:176]
FactoryGame_Engine_Win64_Shipping!FTickFunctionTask::DoTask() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:289]
FactoryGame_Engine_Win64_Shipping!TGraphTask<FTickFunctionTask>::ExecuteTask() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:891]
FactoryGame_Core_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:600]
FactoryGame_Core_Win64_Shipping!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1525]
FactoryGame_Engine_Win64_Shipping!FTickTaskSequencer::ReleaseTickGroup() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:568]
FactoryGame_Engine_Win64_Shipping!FTickTaskManager::RunTickGroup() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1590]
FactoryGame_Engine_Win64_Shipping!UWorld::Tick() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1463]
FactoryGame_Engine_Win64_Shipping!UGameEngine::Tick() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1802]
FactoryGame_FactoryGame_Win64_Shipping!UFGGameEngine::Tick() [D:\BuildAgent\work\78a794e88763017d\UE4\Games\FactoryGame\Source\FactoryGame\Private\FGGameEngine.cpp:16]
FactoryGame_Win64_Shipping!FEngineLoop::Tick() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4896]
FactoryGame_Win64_Shipping!GuardedMain() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
FactoryGame_Win64_Shipping!GuardedMainWrapper() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
FactoryGame_Win64_Shipping!WinMain() [D:\BuildAgent\work\78a794e88763017d\UE4\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
FactoryGame_Win64_Shipping!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

(I hope this helps you out for finding the bug @SmartFoundations)