SetHitResultFromShapeAndFaceIndex calls
if(PxMaterial* PxMat = PShape->getMaterialFromInternalFaceIndex(FaceIndex))
{
OutResult.PhysMaterial = FPhysxUserData::Get<UPhysicalMaterial>(PxMat->userData);
}
and in some cases PxMat is neither null nor valid, resulting in an access violation upon referencing.
This can occur when a mesh is missing a material slot and the portion of the mesh using the missing slot is traced against.
Place the attached mesh asset in a level and perform a complex trace against its larger area.
Access violation - code c0000005 (first/second chance not available) UE4Editor_Engine!SetHitResultFromShapeAndFaceIndex() [d:\builds\release-4.21\engine\source\runtime\engine\private\collision\collisionconversions.cpp:416] UE4Editor_Engine!ConvertQueryImpactHit() [d:\builds\release-4.21\engine\source\runtime\engine\private\collision\collisionconversions.cpp:593] UE4Editor_Engine!FPhysicsInterface_PhysX::RaycastSingle() [d:\builds\release-4.21\engine\source\runtime\engine\private\collision\physxcollision.cpp:258] UE4Editor_Engine!UWorld::LineTraceSingleByChannel() [d:\builds\release-4.21\engine\source\runtime\engine\private\collision\worldcollision.cpp:79] UE4Editor_Engine!UKismetSystemLibrary::LineTraceSingle() [d:\builds\release-4.21\engine\source\runtime\engine\private\kismetsystemlibrary.cpp:1335] UE4Editor_Engine!UKismetSystemLibrary::execLineTraceSingle() [d:\builds\release-4.21\engine\source\runtime\engine\classes\kismet\kismetsystemlibrary.h:77] UE4Editor_CoreUObject!UFunction::Invoke() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\class.cpp:4861] UE4Editor_CoreUObject!UObject::CallFunction() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:816] UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2330] UE4Editor_CoreUObject!UObject::execLetBool() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2232] UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1031] UE4Editor_CoreUObject!UObject::CallFunction() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:940] UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1031] UE4Editor_CoreUObject!UFunction::Invoke() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\class.cpp:4861] UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\builds\release-4.21\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1480] UE4Editor_Engine!AActor::ProcessEvent() [d:\builds\release-4.21\engine\source\runtime\engine\private\actor.cpp:713] UE4Editor_Engine!AActor::ReceiveTick() [d:\builds\release-4.21\engine\intermediate\build\win64\ue4editor\inc\engine\actor.gen.cpp:1040] UE4Editor_Engine!AActor::Tick() [d:\builds\release-4.21\engine\source\runtime\engine\private\actor.cpp:934] UE4Editor_Engine!AActor::TickActor() [d:\builds\release-4.21\engine\source\runtime\engine\private\actor.cpp:914] UE4Editor_Engine!FActorTickFunction::ExecuteTick() [d:\builds\release-4.21\engine\source\runtime\engine\private\actor.cpp:137] UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [d:\builds\release-4.21\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829] UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\builds\release-4.21\engine\source\runtime\core\private\async\taskgraph.cpp:679] UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\builds\release-4.21\engine\source\runtime\core\private\async\taskgraph.cpp:575] UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [d:\builds\release-4.21\engine\source\runtime\core\private\async\taskgraph.cpp:1444] UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [d:\builds\release-4.21\engine\source\runtime\engine\private\ticktaskmanager.cpp:556] UE4Editor_Engine!FTickTaskManager::RunTickGroup() [d:\builds\release-4.21\engine\source\runtime\engine\private\ticktaskmanager.cpp:1474] UE4Editor_Engine!UWorld::RunTickGroup() [d:\builds\release-4.21\engine\source\runtime\engine\private\leveltick.cpp:783] UE4Editor_Engine!UWorld::Tick() [d:\builds\release-4.21\engine\source\runtime\engine\private\leveltick.cpp:1460] UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\builds\release-4.21\engine\source\editor\unrealed\private\editorengine.cpp:1726] UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\builds\release-4.21\engine\source\editor\unrealed\private\unrealedengine.cpp:403] UE4Editor!FEngineLoop::Tick() [d:\builds\release-4.21\engine\source\runtime\launch\private\launchengineloop.cpp:3699] UE4Editor!GuardedMain() [d:\builds\release-4.21\engine\source\runtime\launch\private\launch.cpp:174] UE4Editor!GuardedMainWrapper() [d:\builds\release-4.21\engine\source\runtime\launch\private\windows\launchwindows.cpp:145] UE4Editor!WinMain() [d:\builds\release-4.21\engine\source\runtime\launch\private\windows\launchwindows.cpp:276] UE4Editor!__scrt_common_main_seh() [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288] kernel32 ntdll
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-84526 in the post.
6 |
Component | UE - Simulation - Physics |
---|---|
Affects Versions | 4.21 |
Target Fix | 4.26 |
Created | Nov 15, 2019 |
---|---|
Resolved | Sep 11, 2020 |
Updated | Aug 9, 2021 |
8288 - rtrick |