Description

Description: Appears directly related to using Set Master Pose Component when the target component has cloth

Error message:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 633] Array index out of bounds: -1 from an array of size 105

Source Context:

  144       InComponent->GetWindForCloth_GameThread(BaseContext->WindVelocity, BaseContext->WindAdaption);
  145       
  146       if(USkinnedMeshComponent* MasterComponent = InComponent->MasterPoseComponent.Get())
  147       {
  148       const int32 NumBones = InComponent->MasterBoneMap.Num();
  149       
  150       BaseContext->BoneTransforms.Empty(NumBones);
  151       BaseContext->BoneTransforms.AddDefaulted(NumBones);
  152       
  153       for(int32 BoneIndex = 0; BoneIndex < NumBones; ++BoneIndex)
  154       {
  155       if(InComponent->MasterBoneMap.IsValidIndex(BoneIndex))
  156       {
  157       const int32 ParentIndex = InComponent->MasterBoneMap[BoneIndex];
  158 ***** BaseContext->BoneTransforms[BoneIndex] = MasterComponent->GetComponentSpaceTransforms()[ParentIndex];
  159       }
  160       else
  161       {
  162       BaseContext->BoneTransforms[BoneIndex] = FTransform::Identity;
  163       }
  164       }
  165       }
  166       else
  167       {
  168       BaseContext->BoneTransforms = InComponent->GetComponentSpaceTransforms();
  169       }
  170       
  171       UWorld* ComponentWorld = InComponent->GetWorld();
  172       check(ComponentWorld);
  173       

Most recent user affected CL: 3427662

Logs:
Attached


CrashReporter User Descriptions:

Steps to Reproduce
  1. Open this project in 4.16: [Link Removed]
  2. PIE

Result: Crash
Expected: Game plays

Callstack
UE4Editor_ClothingSystemRuntime!FClothingSimulationBase::FillContext() [clothingsimulation.cpp:159]
UE4Editor_ClothingSystemRuntime!FClothingSimulationNv::FillContext() [clothingsimulationnv.cpp:334]
UE4Editor_Engine!USkeletalMeshComponent::UpdateClothSimulationContext() [skeletalmeshcomponent.cpp:1621]
UE4Editor_Engine!USkeletalMeshComponent::UpdateClothStateAndSimulate() [skeletalmeshcomponentphysics.cpp:2738]
UE4Editor_Engine!USkeletalMeshComponent::TickClothing() [skeletalmeshcomponentphysics.cpp:2797]
UE4Editor_Engine!FActorComponentTickFunction::ExecuteTickHelper<<lambda_7fac7197d0416451046926bf018b2139> >() [actor.h:3075]
UE4Editor_Engine!FSkeletalMeshComponentClothTickFunction::ExecuteTick() [skeletalmeshcomponentphysics.cpp:69]
UE4Editor_Engine!FTickFunctionTask::DoTask() [ticktaskmanager.cpp:269]
UE4Editor_Engine!TGraphTask<FTickFunctionTask>::ExecuteTask() [taskgraphinterfaces.h:883]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [taskgraph.cpp:954]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [taskgraph.cpp:701]
UE4Editor_Core!FTaskGraphImplementation::WaitUntilTasksComplete() [taskgraph.cpp:1809]
UE4Editor_Engine!FTickTaskSequencer::ReleaseTickGroup() [ticktaskmanager.cpp:538]
UE4Editor_Engine!FTickTaskManager::RunTickGroup() [ticktaskmanager.cpp:1450]
UE4Editor_Engine!UWorld::RunTickGroup() [leveltick.cpp:758]
UE4Editor_Engine!UWorld::Tick() [leveltick.cpp:1373]
UE4Editor_UnrealEd!UEditorEngine::Tick() [editorengine.cpp:1633]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [unrealedengine.cpp:386]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3119]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:264]
kernel32!<Unknown>
ntdll!<Unknown>

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentAnim
Affects Versions4.16
Target Fix4.16
Fix Commit3446631
Release Commit3446631
CreatedMay 18, 2017
ResolvedMay 18, 2017
UpdatedApr 27, 2018