Description

Calling Get Material Index node with an invalid slot name will produce a return value of -1. Passing this value to a Get Material node causes the editor to crash.

Steps to Reproduce
  1. Open UE4 Editor (Third Person Template)
  2. Open Third Person Character blueprint
  3. Add Get Material Index (Mesh) node
  4. Set slot name to "Testing"
  5. Pull off of Return Value pin and create Get Material (Mesh) node
  6. Wire Get Material's Return Value pin into Print String node
  7. Wire Print String into Being Play
  8. PIE

Result:
Editor crashes at PIE

Expected:
Get Material Index node warns that slot name is invalid or return value is negative when blueprint is compiled.

Callstack
LoginId:7156c35640f86204e61b8383f45dee17
EpicAccountId:e8c7fa630b6440f69a25a2c64d6c482c

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 633] 
Array index out of bounds: -1 from an array of size 0


UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_Engine!USkinnedMeshComponent::GetMaterial() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\components\skinnedmeshcomponent.cpp:705]
UE4Editor_Engine!UPrimitiveComponent::execGetMaterial() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\classes\components\primitivecomponent.h:118]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4525]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:721]
UE4Editor_CoreUObject!UObject::execVirtualFunction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2255]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2149]
UE4Editor_CoreUObject!UObject::execLetObj() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1984]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:948]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:845]
UE4Editor_CoreUObject!UObject::execVirtualFunction() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2255]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:948]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:4525]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1318]
UE4Editor_Engine!AActor::ProcessEvent() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actor.cpp:678]
UE4Editor_Engine!AActor::ReceiveBeginPlay()
UE4Editor_Engine!AActor::BeginPlay() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actor.cpp:3129]
UE4Editor_Engine!AActor::DispatchBeginPlay() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\actor.cpp:3097]
UE4Editor_Engine!AWorldSettings::NotifyBeginPlay() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\worldsettings.cpp:183]
UE4Editor_Engine!AGameStateBase::HandleBeginPlay() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\gamestatebase.cpp:177]
UE4Editor_Engine!UWorld::BeginPlay() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\world.cpp:3435]
UE4Editor_Engine!UGameInstance::StartPlayInEditorGameInstance() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\engine\private\gameinstance.cpp:338]
UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:3420]
UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:2515]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\playlevel.cpp:1215]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\editorengine.cpp:1522]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3025]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.14.34.15
Target Fix4.16
Fix Commit3310155
Main Commit3357449
CreatedFeb 8, 2017
ResolvedFeb 17, 2017
UpdatedApr 27, 2018