Description

We've started seeing a crash in editor when re-importing one of our assets.
<pre class="ql-syntax">Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 783]
Array index out of bounds: -1 into an array of size 3
</pre>

But it goes into libfbxsdk and we don't have the symbols to debug it properly.

I haven't tried a vanilla project repro yet, but I have attached the fbx that is causing the crash when re-importing. I have confirmed it also crashing when importing so I'd expect it to crash on a vanilla project too as we don't have any engine changes in that area.

Steps to Reproduce

Try importing the FBX file provided through interchange. It should be imported without any crashes.

[^SM_BaldCyprus_01a.fbx]

Callstack

> UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::Private::FMeshDescriptionImporter::FillMeshDescriptionFromFbxMesh(fbxsdk::FbxMesh * Mesh, const UE::Math::TTransform<double> & MeshGlobalTransform, TArray<FString,TSizedDefaultAllocator<32>> & OutJointUniqueNames, UE::Interchange::Private::FMeshDescriptionImporter::EMeshType MeshType) Line 1190 C++
[Inline Frame] UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::Private::FMeshDescriptionImporter::FillStaticMeshDescriptionFromFbxMesh(fbxsdk::FbxMesh * Mesh, const UE::Math::TTransform<double> &) Line 502 C++
UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::Private::FMeshPayloadContext::FetchMeshPayloadInternal(UE::Interchange::Private::FFbxParser & Parser, const UE::Math::TTransform<double> & MeshGlobalTransform, FMeshDescription & OutMeshDescription, TArray<FString,TSizedDefaultAllocator<32>> & OutJointNames) Line 1558 C++
UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::Private::FMeshPayloadContext::FetchMeshPayload(UE::Interchange::Private::FFbxParser & Parser, const UE::Math::TTransform<double> & MeshGlobalTransform, UE::Interchange::FMeshPayloadData & OutMeshPayloadData) Line 1600 C++
UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::Private::FFbxParser::FetchMeshPayloadData(const FString & PayloadKey, const UE::Math::TTransform<double> & MeshGlobalTransform, UE::Interchange::FMeshPayloadData & OutMeshPayloadData) Line 259 C++
UnrealEditor-InterchangeFbxParser.dll!UE::Interchange::FInterchangeFbxParser::FetchMeshPayload(const FString & PayloadKey, const UE::Math::TTransform<double> & MeshGlobalTransform, UE::Interchange::FMeshPayloadData & OutMeshPayloadData) Line 198 C++
UnrealEditor-InterchangeImport.dll!UInterchangeFbxTranslator::GetMeshPayloadData(const FInterchangeMeshPayLoadKey & PayLoadKey, const UE::Math::TTransform<double> & MeshGlobalTransform) Line 408 C++
UnrealEditor-InterchangeImport.dll!UInterchangeStaticMeshFactory::CreatePayloadTasks::_l34::<lambda_3>:[Image Removed])::_l58::<lambda_7>::operator()() Line 271 C++
UnrealEditor-InterchangeCore.dll!UE::Interchange::FInterchangeTaskSystem::Tick::__l2::<lambda_6>::operator()(const TArray<unsigned __int64,TSizedDefaultAllocator<32>> & TaskIds, bool bTimeLimit) Line 334 C++
UnrealEditor-InterchangeCore.dll!UE::Interchange::FInterchangeTaskSystem::Tick() Line 361 C++
[Inline Frame] UnrealEditor-InterchangeCore.dll!UE::Interchange::FInterchangeTaskSystem::Get::__l5::<lambda_3>::operator()(float) Line 80 C++
UnrealEditor-InterchangeCore.dll!`UE::Interchange::FInterchangeTaskSystem::Get'::`5'::<lambda_3>::<lambda_invoker_cdecl>(float DeltaTime) Line 82 C++
[Inline Frame] UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,bool __cdecl(float)>::operator()(float <Params_0>) Line 470 C++
[Inline Frame] UnrealEditor-Core.dll!FTSTicker::FElement::Fire(float) Line 179 C++
UnrealEditor-Core.dll!FTSTicker::Tick(float DeltaTime) Line 121 C++
UnrealEditor-Win64-DebugGame.exe!FEngineLoop::Tick() Line 6151 C++
[Inline Frame] UnrealEditor-Win64-DebugGame.exe!EngineTick() Line 69 C++
UnrealEditor-Win64-DebugGame.exe!GuardedMain(const wchar_t * CmdLine) Line 188 C++
UnrealEditor-Win64-DebugGame.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 266 C++
UnrealEditor-Win64-DebugGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 323 C++
[External Code]

Have Comments or More Details?

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

0
Login to Vote

Fixed
Fix Commit40322157
CreatedFeb 7, 2025
ResolvedFeb 26, 2025
UpdatedMar 6, 2025
View Jira Issue