Physx crash when spawning actors and moving

We are experiencing a persistent crash in Physx code when spawning multiple actors in this version of Unreal. It also happens sometimes when moving actors as well. To be more specific we are spawning lots of characters controlled by AIControllers. Slowly adding characters over time, instead of spawning them in one big chunk just means the crash takes longer to happen. We’ve experimented with turning off as much collision as we can on our character, but it doesn’t seem to improve our chances of not encountering the crash.

Below is a paste of the callstack we get on windows. I couldn’t figure out how to format it correctly, sorry.

Access violation - code c0000005 (first/second chance not available)
PhysX3PROFILE_x64!physx::Sq::IncrementalAABBPrunerCore::updateMapping() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqincrementalaabbprunercore.cpp:125]
PhysX3PROFILE_x64!physx::Sq::IncrementalAABBPrunerCore::updateObject() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqincrementalaabbprunercore.cpp:245]
PhysX3PROFILE_x64!physx::Sq::AABBPruner::updateObjectsAfterManualBoundsUpdates() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqaabbpruner.cpp:157]
PhysX3PROFILE_x64!physx::Sq::PrunerExt::flushShapes() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqscenequerymanager.cpp:128]
PhysX3PROFILE_x64!physx::Sq::SceneQueryManager::flushShapes() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqscenequerymanager.cpp:381]
PhysX3PROFILE_x64!physx::Sq::SceneQueryManager::flushUpdates() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\scenequery\src\sqscenequerymanager.cpp:398]
PhysX3PROFILE_x64!physx::NpSceneQueries::multiQuery() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\physx\src\npscenequeries.cpp:730]
PhysX3PROFILE_x64!physx::NpSceneQueries::overlap() [d:\build++ue4+release-4.20+physx_compile\sync\engine\source\thirdparty\physx3\physx_3.4\source\physx\src\npscenequeries.cpp:104]
UE4Editor_Engine!GeomOverlapMultiImp_PhysX<0>() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\collision\physxcollision.cpp:1586]
UE4Editor_Engine!GeomOverlapMulti() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\collision\physxcollision.cpp:1706]
UE4Editor_Engine!UWorld::OverlapMultiByChannel() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\collision\worldcollision.cpp:139]
UE4Editor_Engine!ComponentEncroachesBlockingGeometry_WithAdjustment() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\levelactor.cpp:919]
UE4Editor_Engine!UWorld::EncroachingBlockingGeometry() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\levelactor.cpp:1045]
UE4Editor_Engine!UWorld::FindTeleportSpot() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\levelactor.cpp:771]
UE4Editor_Engine!AActor::PostActorConstruction() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\actor.cpp:3018]
UE4Editor_Engine!AActor::FinishSpawning() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\actor.cpp:2974]
UE4Editor_Engine!UGameplayStatics::FinishSpawningActor() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\gameplaystatics.cpp:575]
UE4Editor_Engine!UGameplayStatics::execFinishSpawningActor() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\classes\kismet\gameplaystatics.h:42]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4728]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:772]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2197]
UE4Editor_CoreUObject!UObject::execLetObj() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2019]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:984]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:896]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:984]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4728]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1344]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\actor.cpp:724]
(private code omitted)
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4728]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1344]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\actor.cpp:724]
UE4Editor_Engine!FObjectReplicator::ReceivedRPC() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datareplication.cpp:872]
UE4Editor_Engine!FObjectReplicator::ReceivedBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datareplication.cpp:743]
UE4Editor_Engine!UActorChannel::ProcessBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datachannel.cpp:2385]
UE4Editor_Engine!UActorChannel::ReceivedBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datachannel.cpp:2243]
UE4Editor_Engine!UChannel::ReceivedSequencedBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datachannel.cpp:309]
UE4Editor_Engine!UChannel::ReceivedNextBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datachannel.cpp:684]
UE4Editor_Engine!UChannel::ReceivedRawBunch() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\datachannel.cpp:403]
UE4Editor_Engine!UNetConnection::ReceivedPacket() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\netconnection.cpp:1666]
UE4Editor_Engine!UNetConnection::ReceivedRawPacket() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\netconnection.cpp:976]
UE4Editor_OnlineSubsystemUtils!UIpNetDriver::TickDispatch() [d:\build++ue4+release-4.20+compile\sync\engine\plugins\online\onlinesubsystemutils\source\onlinesubsystemutils\private\ipnetdriver.cpp:236]
UE4Editor_Engine!TBaseUObjectMethodDelegateInstance<0,UNetDriver,void __cdecl(float)>::ExecuteIfSafe() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:659]
UE4Editor_Engine!TBaseMulticastDelegate::Broadcast() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:937]
UE4Editor_Engine!UWorld::Tick() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\engine\private\leveltick.cpp:1339]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build++ue4+release-4.20+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1691]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build++ue4+release-4.20+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3486]
UE4Editor!GuardedMain() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:144]
UE4Editor!WinMain() [d:\build++ue4+release-4.20+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:223]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
kernel32
ntdll

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://epicsupport.force.com/unrealengine/s/

Thanks

Good to know. I discovered later that you’ve already fixed this crash in the 4.20 branch, so I have nothing to report now anyway :slight_smile: