Upgrade from 5.2 to 5.5 causes assertion error with chaos

I inherited a project in 5.2, and decided to upgrade to 5.5. The components seem to exist, but is not active, which I suppose is what causes the crash. As far as I can tell, the last function it works is where it runs AttachParentComponent->WakeAllRigidBodies(); in the TickComponent(). Does anyone know what could have changed during the upgrade to cause this?

Assertion failed: Component && Component->IsActive() [File:D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\PhysicsEngine\Experimental\PhysScene_Chaos.cpp] [Line: 205]

0x00007ff9c61d9f3d UnrealEditor-Engine.dll!FAsyncPhysicsTickCallback::OnPreSimulate_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\PhysicsEngine\Experimental\PhysScene_Chaos.cpp:205]
0x00007ff9c3aab6b2 UnrealEditor-Chaos.dll!Chaos::FPhysicsSolverBase::ApplyCallbacks_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Public\Chaos\Framework\PhysicsSolverBase.h:603]
0x00007ff9c3ff9ace UnrealEditor-Chaos.dll!Chaos::FPBDRigidsSolver::ApplyCallbacks_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Private\PBDRigidsSolver.cpp:794]
0x00007ff9c3ab5a50 UnrealEditor-Chaos.dll!Chaos::FPhysicsSolverFrozenGTPreSimCallbacks::GTPreSimCallbacks() [D:\build++UE5\Sync\Engine\Source\Runtime\Experimental\Chaos\Private\Chaos\Framework\PhysicsSolverBase.cpp:135]
0x00007ff9c3ab3f07 UnrealEditor-Chaos.dll!TGraphTaskChaos::FPhysicsSolverFrozenGTPreSimCallbacks::ExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634]
0x00007ff9d3bf2722 UnrealEditor-Core.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504]
0x00007ff9d3be7d4a UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:779]
0x00007ff9d3be81ee UnrealEditor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:668]
0x00007ff9d3bf59aa UnrealEditor-Core.dll!FTaskGraphCompatibilityImplementation::WaitUntilTasksComplete() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1526]
0x00007ff9c6af4ea4 UnrealEditor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:815]
0x00007ff9c6b0493d UnrealEditor-Engine.dll!FTickTaskManager::RunTickGroup() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1866]
0x00007ff9c5accf5f UnrealEditor-Engine.dll!UWorld::RunTickGroup() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:774]
0x00007ff9c5ad5de3 UnrealEditor-Engine.dll!UWorld::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1518]
0x00007ff9cbdd4b78 UnrealEditor-UnrealEd.dll!UEditorEngine::Tick() [D:\build++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:2140]
0x00007ff9cca642c6 UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick() [D:\build++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:550]
0x0000029d754d6c5d UnrealEditor-DisplayClusterEditor.dll!UDisplayClusterEditorEngine::Tick() [D:\build++UE5\Sync\Engine\Plugins\Runtime\nDisplay\Source\DisplayClusterEditor\Private\DisplayClusterEditorEngine.cpp:191]
0x00007ff63eaa6b47 UnrealEditor.exe!FEngineLoop::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5877]
0x00007ff63eac57ac UnrealEditor.exe!GuardedMain() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
0x00007ff63eac589a UnrealEditor.exe!GuardedMainWrapper() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
0x00007ff63eac9114 UnrealEditor.exe!LaunchWindowsStartup() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
0x00007ff63eadbd04 UnrealEditor.exe!WinMain() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:317]
0x00007ff63eadf0ba UnrealEditor.exe!__scrt_common_main_seh() [D:\a_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffa609ee8d7 KERNEL32.DLL!UnknownFunction

Hi @kevinhel ,
It could be that the crash is happening because, starting in 5.5, Unreal doesn’t allow physics functions to run on inactive components. Since you upgraded your project from 5.2 to 5.5, I’d also suggest checking if there’s any component still bound but with no reference assigned (ike something left empty). That might also be causing the issue.
Hope it helps!

Hi, thank you for the tip, but I’m a bit lost what exactly defines a “bound” component.

I went through all static meshes, and selected “Simulate Physics” as true. Some objects has “Simulate Physics” grayed out. We have our own underwater physics, but I can’t find anything there that disables Simulate Physics. In fact, that component runs SetSimulatePhysics(true); in BeginPlay().

When debugging the code, the grayed out propellers seems to be the ones there bIsActive = false. It has collision, I tried adding physical material, still can’t activate this. The parent simulates physics, could it be inherited from parent?

Am I even on the right track?

HI,
When I mentioned a “bound component with no reference,” I meant a case where a component is assigned in Blueprint or code, but for some reason it ends up deactivated or missing some configuration to work properly.

It can also happen that, even if the parent component is simulating physics, that causes issues with child components. In fact, if the parent has physics enabled but the child is inactive or not simulating, it can lead to conflicts or strange behavior.
It can also happen that the component is registered but not activated

As for the "Simulate Physics"option being grayed out, that might be because the object is attached to something that doesn’t allow physics simulation, or it’s in a state where Unreal blocks that option automatically(for example, if it’s welded to the parent).