Description

This is a common crash affecting users in 4.16. The callstack is very similar to [Link Removed], which has previously been fixed.

User Descriptions

  • Testing destruction of generated destructables. The destructable is created for a series of destructable meshes that are combined into a tower. These are then randomly generated around the map. When the bottom section is destroyed the top section should recieve a set amount of damage. On testing this this engine crashed.
  • It happend first time, while was playing with destructible meshes.

Source Context

486       void Sc::BodySim::activateInteractions(PxU32 /*infoFlag*/)
  487       {
  488       	const PxU32 nbInteractions = getActorInteractionCount();
  489       
  490       	for(PxU32 i=0; i<nbInteractions; ++i)
  491       	{
  492       		Ps::prefetchLine(mInteractions[PxMin(i+1,nbInteractions-1)]);
  493       		Interaction* interaction = mInteractions[i];
  494       
  495 ***** 		bool isNotIGControlled = interaction->getType() != Sc::InteractionType::eCONSTRAINTSHADER && interaction->getType() != Sc::InteractionType::eOVERLAP &&
  496       			interaction->getType() != Sc::InteractionType::eMARKER;
  497       
  498       		if (!interaction->readInteractionFlag(InteractionFlag::eIS_ACTIVE) && isNotIGControlled)
  499       		{
  500       			const bool proceed = interaction->onActivate(NULL);
  501       			if (proceed && (interaction->getType() < InteractionType::eTRACKED_IN_SCENE_COUNT))
  502       				getScene().notifyInteractionActivated(interaction);
  503       		}
  504       	}
Steps to Reproduce

repro steps currently unknown

Callstack
Access violation - code c0000005 (first/second chance not available)

PhysX3PROFILE_x64!physx::Sc::BodySim::activateInteractions() [scbodysim.cpp:496]
PhysX3PROFILE_x64!physx::Sc::BodySim::internalWakeUp() [scbodysim.cpp:566]
PhysX3PROFILE_x64!physx::Sc::Scene::processLostTouchPairs() [scscene.cpp:3710]
PhysX3PROFILE_x64!physx::Sc::Scene::islandInsertion() [scscene.cpp:6034]
PhysX3PROFILE_x64!physx::Cm::Task::run() [cmtask.h:63]
UE4Editor_Engine!FPhysXTask<0>::DoTask() [physscene.cpp:251]
UE4Editor_Engine!TGraphTask<FPhysXTask<0> >::ExecuteTask() [taskgraphinterfaces.h:883]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasks() [taskgraph.cpp:1277]
UE4Editor_Core!FTaskThreadAnyThread::ProcessTasksUntilQuit() [taskgraph.cpp:1171]
UE4Editor_Core!FTaskThreadBase::Run() [taskgraph.cpp:643]
UE4Editor_Core!FRunnableThreadWin::Run() [windowsrunnablethread.cpp:76]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-47474 in the post.

0
Login to Vote

Fixed
ComponentUE - Simulation - Physics
Affects Versions4.16
Target Fix4.17.2
Fix Commit3592519
CreatedJul 19, 2017
ResolvedAug 18, 2017
UpdatedApr 27, 2018