cepheidqq / FactorySkyline

MIT License
8 stars 13 forks source link

Crash to desktop after selecting items to copy #76

Open Prinz-von-Oelen opened 1 year ago

Prinz-von-Oelen commented 1 year ago

Hi, I have random crashes when I select items to copy and press the "Call menu" shortcut. I cant reproduce a crash. They seem to happen after a longer time ingame and seem not connected to a tile. If I reload and do the same, the copy/paste procedure works fine. After a while, it happens again with no warning.

The crashlog below is from a crash after trying to copy 17x "Inv. Ramp 4m" (vanilla)

My modlist:

Factory skyline (obviously)
Micro Manage
Area Actions
Plant and harvest
Fluid sink and more
Hard Drives Cheat
Cheap Power Shards

Hope it helps a little =)

Version: 202470, IsEditor: No, IsPerforceBuild: No, BuildConfiguration: Shipping, Launcher: Epic, NetMode: Listen Server, IsUsingMods: Yes

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff

FactoryGame_CoreUObject_Win64_Shipping!UStruct::IsChildOf() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\CoreUObject\Public\UObject\Class.h:485] FactoryGame_FactorySkyline_Win64Shipping!UFSSelection::HideHologram() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fsselection.cpp:455] FactoryGame_FactorySkyline_Win64Shipping!UFSSelection::DisableAll() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fsselection.cpp:935] FactoryGame_FactorySkyline_Win64Shipping!UFSSelection::Unload() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fsselection.cpp:404] FactoryGame_FactorySkyline_Win64Shipping!AFSController::ExitSelectMode() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fscontroller.cpp:297] FactoryGame_FactorySkyline_Win64Shipping!AFSController::SetOpenState() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fscontroller.cpp:166] FactoryGame_FactorySkyline_Win64Shipping!AFSController::onEscPressed() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fscontroller.cpp:649] FactoryGame_FactorySkyline_Win64_Shipping!TBaseUObjectMethodDelegateInstance<0,UFSInventoryWidget,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [c:\program files\unreal engine - css\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:611] FactoryGame_FactorySkyline_Win64Shipping!UFSInput::Tick() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fsinput.cpp:75] FactoryGame_FactorySkyline_Win64Shipping!AFSController::Tick() [c:\users\game\onedrive\documents\satisfactorymodloader-master\plugins\factoryskyline\source\factoryskyline\fscontroller.cpp:474] FactoryGame_Engine_Win64_Shipping!AActor::TickActor() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\Actor.cpp:1143] FactoryGame_Engine_Win64_Shipping!FActorTickFunction::ExecuteTick() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\Actor.cpp:176] FactoryGame_Engine_Win64_Shipping!FTickFunctionTask::DoTask() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:289] FactoryGame_Engine_Win64_Shipping!TGraphTask::ExecuteTask() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:891] FactoryGame_Core_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:600] FactoryGame_Core_Win64_Shipping!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1525] FactoryGame_Engine_Win64_Shipping!FTickTaskSequencer::ReleaseTickGroup() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:568] FactoryGame_Engine_Win64_Shipping!FTickTaskManager::RunTickGroup() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1590] FactoryGame_Engine_Win64_Shipping!UWorld::Tick() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1463] FactoryGame_Engine_Win64_Shipping!UGameEngine::Tick() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:1802] FactoryGame_FactoryGame_Win64_Shipping!UFGGameEngine::Tick() [D:\ws\SB-220602145101-842\UE4\Games\FactoryGame\Source\FactoryGame\Private\FGGameEngine.cpp:16] FactoryGame_Win64_Shipping!FEngineLoop::Tick() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4896] FactoryGame_Win64_Shipping!GuardedMain() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Launch\Private\Launch.cpp:169] FactoryGame_Win64_Shipping!GuardedMainWrapper() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137] FactoryGame_Win64_Shipping!WinMain() [D:\ws\SB-220602145101-842\UE4\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268] FactoryGame_Win64_Shipping!__scrt_common_main_seh() [d:\agent_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288] kernel32 ntdll

Slecht-valk commented 1 year ago

The exact case at least the one I'm aware of and can reproduce 100% of the time is something simple like this. First make a new design to copy, then copy a design, this can be anything really, after its copied, dismantle part of the design. Now this is where the issues start for obvious reasons, because dismantling a buildable essentially removes it and causes it to become garbage collected. So now the design that was made at least some of the actors-aka the buildings that were dismantled essentially don't exist anymore. And those even for simple code like hiding the hologram, tries call methods on objects that don't exist and its fairly easy to see at this point this is definitely a problem. I did put in my internal build a potential fix for this, at least it was able to prevent the crashes and causes the exact call stack you mentioned above. And that'll be put in the next update for the mod also, which should I'm hopeful fix this issue from happening, couldn't cause the issue to happen at least in my testing above for the cases I know that can cause this and assuming this is happening because of maybe some other unforeseen reason with buildables becoming invalid for some other reason, hopefully the fix I put in should prevent it from happening in those cases also. Of course feel please to dump up this with any new information, such as it keeps happening once the next update goes live if you see any cases where it seems to still happening so I can hopefully get more information to go investigate.