Description

Getting a crash when trying to access a non-empty TSet or TMap local variable in a blueprint function. This is only occurring with local variables. The issue also does not occur if the TSet or TMap is empty when trying to access it.

This does NOT occur in //UE4/Main CL-3332594

Steps to Reproduce
  1. Create / Open a blank Blueprint Project
  2. Create a new Blueprint based on Actor (name it TestBP)
  3. Open TestBP
  4. Create a function (Foo)
  5. Select Foo in the My Blueprint panel and add a new Local Variable (TestSet)
  6. Change the Variable's type to String and make it a Set
  7. Compile the Blueprint
  8. Select TestSet in the My Blueprint panel and add an element to the TSet
  9. In Foo's graph place a GET reference for TestSet
  10. From the GET reference place an Add node (pass in "Test" for the String value) and connect the execs
  11. Place a call to Foo in TestBP's event graph and connect the in exec to BeginPlay
  12. Compile and place an instance of TestBP in the level
  13. PIE

Result: Editor Crashes.

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

UE4Editor_Core!rml::internal::Block::findObjectSize() [d:\depot\ue4\engine\source\thirdparty\inteltbb\inteltbb-4.4u3\src\tbbmalloc\frontend.cpp:2107]
UE4Editor_Core!FMallocTBB::Free() [d:\builds\samuel.proctor_framework\engine\source\runtime\core\private\hal\malloctbb.cpp:112]
UE4Editor_Core!FMemory::Free() [d:\builds\samuel.proctor_framework\engine\source\runtime\core\public\hal\fmemory.inl:52]
UE4Editor_Core!FString::operator=() [d:\builds\samuel.proctor_framework\engine\source\runtime\core\public\containers\unrealstring.h:1700]
UE4Editor_CoreUObject!UObject::execStringConst() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2423]
UE4Editor_CoreUObject!UObject::execSetMap() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2691]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:943]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:845]
UE4Editor_CoreUObject!UObject::execVirtualFunction() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2271]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:943]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:845]
UE4Editor_CoreUObject!UObject::execVirtualFunction() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2271]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:943]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\class.cpp:4486]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\builds\samuel.proctor_framework\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1313]
UE4Editor_Engine!AActor::ProcessEvent() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\actor.cpp:685]
UE4Editor_Engine!AActor::ReceiveBeginPlay()
UE4Editor_Engine!AActor::BeginPlay() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\actor.cpp:3124]
UE4Editor_Engine!AActor::DispatchBeginPlay() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\actor.cpp:3092]
UE4Editor_Engine!AWorldSettings::NotifyBeginPlay() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\worldsettings.cpp:183]
UE4Editor_Engine!AGameStateBase::HandleBeginPlay() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\gamestatebase.cpp:177]
UE4Editor_Engine!UWorld::BeginPlay() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\world.cpp:3430]
UE4Editor_Engine!UGameInstance::StartPlayInEditorGameInstance() [d:\builds\samuel.proctor_framework\engine\source\runtime\engine\private\gameinstance.cpp:338]
UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() [d:\builds\samuel.proctor_framework\engine\source\editor\unrealed\private\playlevel.cpp:3413]
UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() [d:\builds\samuel.proctor_framework\engine\source\editor\unrealed\private\playlevel.cpp:2508]
UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() [d:\builds\samuel.proctor_framework\engine\source\editor\unrealed\private\playlevel.cpp:1215]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\builds\samuel.proctor_framework\engine\source\editor\unrealed\private\editorengine.cpp:1521]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\builds\samuel.proctor_framework\engine\source\editor\unrealed\private\unrealedengine.cpp:391]
UE4Editor!FEngineLoop::Tick() [d:\builds\samuel.proctor_framework\engine\source\runtime\launch\private\launchengineloop.cpp:3061]
UE4Editor!GuardedMain() [d:\builds\samuel.proctor_framework\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\builds\samuel.proctor_framework\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\builds\samuel.proctor_framework\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
kernel32
ntdll

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.16
Target Fix4.16
Fix Commit3340369
Main Commit3358685
CreatedMar 6, 2017
ResolvedMar 9, 2017
UpdatedMay 1, 2019