Description

Ensures trigger when playing in the ChaosExamples_fracture map in the ChaosDestructionDemo project.

The ensures seem to happen during different parts. A couple occurrences were when I triggered the 1.5 - Multiple Fracture Types and Layers demo, and one occurrence was when I exited PIE (though that may have been a timing thing)

Steps to Reproduce
  1. Open ChaosDestructionDemo in editor.
  2. Open ChaosExamples_fracture.
  3. Play in viewport.
  4. Trigger all the fracture examples.

RESULT

Ensures occur

Callstack
Ensure condition failed: !FMath::IsNaN(ParticlesTM.GetTranslation().X) [File:F:/Physics/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/PBDCollisionConstraint.cpp] [Line: 1918]

ChaosDestructionDemoEditor-Chaos.dll!<lambda_c061edc366c9e6480331de32f3b4a6dd>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:1918]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDCollisionConstraint<float,3>::UpdateLevelsetConstraint<1,Chaos::TPBDRigidParticles<float,3> >() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:1918]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::UpdateConstraintImp<1,Chaos::TPBDRigidParticles<float,3>,float,3>() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:2388]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDCollisionConstraint<float,3>::UpdateConstraint<1,Chaos::TPBDRigidParticles<float,3> >() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:2417]
ChaosDestructionDemoEditor-Chaos.dll!<lambda_5340e0d65aa8207df9b555339d184bad>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:718]
ChaosDestructionDemoEditor-Chaos.dll!FParallelForData::Process() [f:\physics\engine\source\runtime\core\public\async\parallelfor.h:134]
ChaosDestructionDemoEditor-Chaos.dll!TGraphTask<FParallelForTask>::ExecuteTask() [f:\physics\engine\source\runtime\core\public\async\taskgraphinterfaces.h:847]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasks() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:1029]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:855]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::Run() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:931]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::Run() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:96]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::GuardedRun() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:53]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []
Ensure condition failed: !FMath::IsNaN(LevelsetTM.GetTranslation().X) [File:F:/Physics/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/PBDCollisionConstraint.cpp] [Line: 1923]

ChaosDestructionDemoEditor-Chaos.dll!<lambda_abdc6b5c2c69fe8c67583a6a312d417b>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:1923]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDCollisionConstraint<float,3>::UpdateLevelsetConstraint<1,Chaos::TPBDRigidParticles<float,3> >() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:1923]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::UpdateConstraintImp<1,Chaos::TPBDRigidParticles<float,3>,float,3>() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:2388]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDCollisionConstraint<float,3>::UpdateConstraint<1,Chaos::TPBDRigidParticles<float,3> >() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:2417]
ChaosDestructionDemoEditor-Chaos.dll!<lambda_5340e0d65aa8207df9b555339d184bad>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:718]
ChaosDestructionDemoEditor-Chaos.dll!ParallelFor() [f:\physics\engine\source\runtime\core\public\async\parallelfor.h:184]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDCollisionConstraint<float,3>::Apply() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdcollisionconstraint.cpp:705]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDConstraintColorRule<Chaos::TPBDCollisionConstraint<float,3>,float,3>::ApplyConstraints() [f:\physics\engine\source\runtime\experimental\chaos\public\chaos\pbdconstraintrule.h:224]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::TPBDRigidsEvolutionBase<Chaos::TPBDRigidsEvolutionGBF<float,3>,Chaos::TPBDCollisionConstraint<float,3>,float,3>::ApplyConstraints() [f:\physics\engine\source\runtime\experimental\chaos\public\chaos\pbdrigidsevolution.h:316]
ChaosDestructionDemoEditor-Chaos.dll!<lambda_c4b7c5841ec3c68c375e12dde847b554>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdrigidsevolutiongbf.cpp:197]
ChaosDestructionDemoEditor-Chaos.dll!FParallelForData::Process() [f:\physics\engine\source\runtime\core\public\async\parallelfor.h:134]
ChaosDestructionDemoEditor-Chaos.dll!TGraphTask<FParallelForTask>::ExecuteTask() [f:\physics\engine\source\runtime\core\public\async\taskgraphinterfaces.h:847]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasks() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:1029]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:855]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::Run() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:931]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::Run() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:96]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::GuardedRun() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:53]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []
Ensure condition failed: !FMath::IsNaN(Particles.P(Index)[0]) [File:F:/Physics/Engine/Source/Runtime/Experimental/Chaos/Private/Chaos/PBDRigidsEvolutionGBF.cpp] [Line: 222]

ChaosDestructionDemoEditor-Chaos.dll!<lambda_9c7c862ab47197f846e799693e84ca59>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdrigidsevolutiongbf.cpp:222]
ChaosDestructionDemoEditor-Chaos.dll!<lambda_c4b7c5841ec3c68c375e12dde847b554>::operator()() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\pbdrigidsevolutiongbf.cpp:222]
ChaosDestructionDemoEditor-Chaos.dll!FParallelForData::Process() [f:\physics\engine\source\runtime\core\public\async\parallelfor.h:134]
ChaosDestructionDemoEditor-Chaos.dll!TGraphTask<FParallelForTask>::ExecuteTask() [f:\physics\engine\source\runtime\core\public\async\taskgraphinterfaces.h:847]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasks() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:1029]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::ProcessTasksUntilQuit() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:855]
ChaosDestructionDemoEditor-Core.dll!FTaskThreadAnyThread::Run() [f:\physics\engine\source\runtime\core\private\async\taskgraph.cpp:931]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::Run() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:96]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::GuardedRun() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:53]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []
Ensure condition failed: !Constraint.AccumulatedImpulse.ContainsNaN() && FMath::IsFinite(Constraint.Phi) [File:F:/Physics/Engine/Source/Runtime/Experimental/ChaosSolvers/Private/PBDRigidsSolver.cpp] [Line: 1037]

ChaosDestructionDemoEditor-ChaosSolvers.dll!<lambda_4c1943aec11fbfba53a4fb8b6a7d2947>::operator()() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\pbdrigidssolver.cpp:1037]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FPBDRigidsSolver::CollisionContactsCallback() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\pbdrigidssolver.cpp:1027]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::AdvanceOneTimeStepTask::DoWork() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\pbdrigidssolver.cpp:98]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FPBDRigidsSolver::AdvanceSolverBy() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\pbdrigidssolver.cpp:428]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FPersistentPhysicsTask::AdvanceSolver() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\framework\persistenttask.cpp:403]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FPersistentPhysicsTask::StepSolver() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\framework\persistenttask.cpp:204]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FDebugSolverTasks::DebugStep() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\framework\debugsolvertasks.cpp:80]
ChaosDestructionDemoEditor-ChaosSolvers.dll!<lambda_147ec6f6f263bd161d8e0d39dc6cc5d3>::operator()() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\framework\persistenttask.cpp:121]
ChaosDestructionDemoEditor-Chaos.dll!ParallelFor() [f:\physics\engine\source\runtime\core\public\async\parallelfor.h:174]
ChaosDestructionDemoEditor-Chaos.dll!Chaos::PhysicsParallelFor() [f:\physics\engine\source\runtime\experimental\chaos\private\chaos\framework\parallel.cpp:13]
ChaosDestructionDemoEditor-ChaosSolvers.dll!Chaos::FPersistentPhysicsTask::DoWork() [f:\physics\engine\source\runtime\experimental\chaossolvers\private\framework\persistenttask.cpp:114]
ChaosDestructionDemoEditor-ChaosSolvers.dll!FAsyncTask<Chaos::FPersistentPhysicsTask>::DoWork() [f:\physics\engine\source\runtime\core\public\async\asyncwork.h:272]
ChaosDestructionDemoEditor-ChaosSolvers.dll!FAsyncTask<Chaos::FPersistentPhysicsTask>::DoThreadedWork() [f:\physics\engine\source\runtime\core\public\async\asyncwork.h:296]
ChaosDestructionDemoEditor-Core.dll!FQueuedThread::Run() [f:\physics\engine\source\runtime\core\private\hal\threadingbase.cpp:510]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::Run() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:96]
ChaosDestructionDemoEditor-Core.dll!FRunnableThreadWin::GuardedRun() [f:\physics\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:53]
KERNEL32.DLL!UnknownFunction []
ntdll.dll!UnknownFunction []

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentPhysics - Destruction
Affects Versions4.23
Target Fix4.26
CreatedJun 4, 2019
ResolvedSep 11, 2020
UpdatedSep 14, 2020