Description

Crash occurs when user call Destroy Actor on a Geometry Collection Actor. This seems to only occur while the actor is simulating. If called while on the ground, it doesn't seem to occur.

Steps to Reproduce
  1. Open any project in editor.
  2. Add a cube static mesh to the level.
  3. Open the Fracture Tools.
  4. Create a new Geometry Collection from the cube in the level.
  5. Raise the cube (which should now be a Geo Collection) so it will be falling for a while.
  6. Open the level blueprint.
  7. Call Destroy Actor for the Geometry Collection Actor and connect it to Event Begin Play, with a small delay (such as 0.1 seconds).
  8. Compile.
  9. Play in viewport.

RESULT

Crash

Callstack
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000094

UE4Editor-ChaosSolvers.dll!TGeometryCollectionPhysicsProxy<Chaos::FRewindableEvolutionTraits>::InitializeBodiesPT() [D:\Main\Engine\Source\Runtime\Experimental\ChaosSolvers\Private\PhysicsProxy\GeometryCollectionPhysicsProxy.cpp:811]
UE4Editor-ChaosSolvers.dll!FPhysicsSolverAdvanceTask::StepSolver<Chaos::TPBDRigidsSolver<Chaos::FRewindableEvolutionTraits> >() [D:\Main\Engine\Source\Runtime\Experimental\ChaosSolvers\Private\Framework\PhysicsTickTask.cpp:213]
UE4Editor-ChaosSolvers.dll!FPhysicsSolverAdvanceTask::DoTask() [D:\Main\Engine\Source\Runtime\Experimental\ChaosSolvers\Private\Framework\PhysicsTickTask.cpp:194]
UE4Editor-ChaosSolvers.dll!TGraphTask<FPhysicsSolverAdvanceTask>::ExecuteTask() [D:\Main\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:855]
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasks() [D:\Main\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1068]
UE4Editor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit() [D:\Main\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:891]
UE4Editor-Core.dll!FTaskThreadAnyThread::Run() [D:\Main\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:968]
UE4Editor-Core.dll!FRunnableThreadWin::Run() [D:\Main\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:86]
UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() [D:\Main\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:35]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []

4.25 Callstack:

atal error: [File:E:/UE4.25_re/UE-4.25.0-re/Engine/Source/Runtime/Core/Private/Windows/WindowsPlatformMisc.cpp] [Line: 475]
Pure virtual function being called


KERNELBASE.dll!UnknownFunction []
ChaosDestructionDemoEditor-Core.dll!ReportAssert() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformCrashContext.cpp:1451]
ChaosDestructionDemoEditor-Core.dll!FWindowsErrorOutputDevice::Serialize() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:78]
ChaosDestructionDemoEditor-Core.dll!FOutputDevice::LogfImpl() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Misc\OutputDevice.cpp:61]
ChaosDestructionDemoEditor-Core.dll!PureCallHandler() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformMisc.cpp:477]
VCRUNTIME140.dll!UnknownFunction []
ChaosDestructionDemoEditor-ChaosSolvers.dll!FGeometryCollectionPhysicsProxy::PullFromPhysicsState() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Experimental\ChaosSolvers\Private\PhysicsProxy\GeometryCollectionPhysicsProxy.cpp:1638]
ChaosDestructionDemoEditor-Engine.dll!FPhysScene_ChaosInterface::SyncBodies() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\PhysicsEngine\Experimental\PhysScene_Chaos.cpp:2170]
ChaosDestructionDemoEditor-Engine.dll!FPhysScene_ChaosInterface::EndFrame() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\PhysicsEngine\Experimental\PhysScene_Chaos.cpp:2015]
ChaosDestructionDemoEditor-Engine.dll!TBaseUObjectMethodDelegateInstance<0,UWorld,void __cdecl(void)>::ExecuteIfSafe() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:716]
ChaosDestructionDemoEditor-Engine.dll!TGraphTask<FSimpleDelegateGraphTask>::ExecuteTask() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:849]
ChaosDestructionDemoEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:692]
ChaosDestructionDemoEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:587]
ChaosDestructionDemoEditor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1478]
ChaosDestructionDemoEditor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:558]
ChaosDestructionDemoEditor-Engine.dll!FTickTaskManager::RunTickGroup() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1523]
ChaosDestructionDemoEditor-Engine.dll!UWorld::RunTickGroup() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:783]
ChaosDestructionDemoEditor-Engine.dll!UWorld::Tick() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1583]
ChaosDestructionDemoEditor-UnrealEd.dll!UEditorEngine::Tick() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1693]
ChaosDestructionDemoEditor-UnrealEd.dll!UUnrealEdEngine::Tick() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:414]
ChaosDestructionDemoEditor.exe!FEngineLoop::Tick() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4850]
ChaosDestructionDemoEditor.exe!GuardedMain() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
ChaosDestructionDemoEditor.exe!GuardedMainWrapper() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
ChaosDestructionDemoEditor.exe!WinMain() [E:\UE4.25_re\UE-4.25.0-re\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
ChaosDestructionDemoEditor.exe!__scrt_common_main_seh() [d:\agent\_work\5\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []

Have Comments or More Details?

There's no existing public thread on this issue, so head over to AnswerHub just mention UE-93022 in the post.

4
Login to Vote

Fixed
ComponentPhysics - Destruction
Affects Versions4.26
Target Fix4.26
Fix Commit14596601
Release Commit14730708
CreatedMay 12, 2020
ResolvedNov 12, 2020
UpdatedNov 18, 2020