Description

This is a trending crash in the 4.17 Preview. Users have not provided any descriptions of their actions when the crash occurred.

Source Context

 2408       	uint8 *Data = (uint8*)Dest;
 2409       	int32 Stride = GetStructureSize();
 2410       	int32 ClearedSize = 0;
 2411       
 2412       	UScriptStruct::ICppStructOps* TheCppStructOps = GetCppStructOps();
 2413       	if (TheCppStructOps)
 2414       	{
 2415       		if (TheCppStructOps->HasDestructor())
 2416       		{
 2417 ***** 			for ( int32 ArrayIndex = 0; ArrayIndex < ArrayDim; ArrayIndex++ )
 2418       			{
 2419       				uint8* PropertyData = (uint8*)Dest + ArrayIndex * Stride;
 2420       				TheCppStructOps->Destruct(PropertyData);
 2421       			}
 2422       		}
 2423       		ClearedSize = TheCppStructOps->GetSize();
 2424       		// here we want to make sure C++ and the property system agree on the size
 2425       		check(Stride == ClearedSize && PropertiesSize == ClearedSize);
 2426       	}
Steps to Reproduce

1. Make two blueprints (Parent and Child) with Child inheriting from Parent.
2. Add a bool variable to each blueprint
3. Add a print string to each blueprints Begin Play
5. Add a function to blueprint 'Parent'
6. Add an input to the new function (bool parameter)
7. In Parent blueprint's Begin Play call the function (after calling print string)
8. Promote the function's input parameter to a variable
9. Compile and save all blueprints
10. Change the input parameter of the new function to a float array
11. Break the connection to the call function node in Parent blueprint
12. Compile the blueprint, a compile error associated with the float array pin should be generated
13. Change the type of the old member variable to Array of Floats
14. reconnect it to the input
15. Compile, note that a check fails (crash)

Callstack
Assertion failed: !RawPointer [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Engine\Classes\Engine/BlueprintGeneratedClass.h] [Line: 97]

UE4Editor_Engine!FPointerToUberGraphFrame::~FPointerToUberGraphFrame()
UE4Editor_CoreUObject!UScriptStruct::DestroyStruct() [class.cpp:2418]
UE4Editor_CoreUObject!UObject::DestroyNonNativeProperties() [blueprintsupport.cpp:2160]
UE4Editor_CoreUObject!UObject::FinishDestroy() [obj.cpp:742]
UE4Editor_CoreUObject!UObject::ConditionalFinishDestroy() [obj.cpp:935]
UE4Editor_CoreUObject!IncrementalPurgeGarbage() [garbagecollection.cpp:977]
UE4Editor_CoreUObject!CollectGarbageInternal() [garbagecollection.cpp:1509]
UE4Editor_CoreUObject!CollectGarbage() [garbagecollection.cpp:1533]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl() [blueprintcompilationmanager.cpp:195]
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() [kismet2.cpp:750]
UE4Editor_Kismet!FBlueprintEditor::Compile() [blueprinteditor.cpp:3291]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_Slate!FUICommandList::ExecuteAction() [uicommandlist.cpp:97]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [stoolbarbuttonblock.cpp:305]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply() [delegateinstanceinterface.h:165]
UE4Editor_Slate!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply() [tuple.h:497]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,0,FReply __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [sbutton.cpp:282]
UE4Editor_Slate!<lambda_1002768c627006711ef2f351a87ec0e7>::operator() [slateapplication.cpp:5199]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_1002768c627006711ef2f351a87ec0e7> >() [slateapplication.cpp:232]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [slateapplication.cpp:5188]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [slateapplication.cpp:5690]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [slateapplication.cpp:5670]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1706]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2149]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:869]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:709]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:1009]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3151]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:253]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.17
Target Fix4.17
Fix Commit3551138
Main Commit3596628
Release Commit3551138
CreatedJul 21, 2017
ResolvedJul 24, 2017
UpdatedApr 27, 2018
View Jira Issue