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 }
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)
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()
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-47605 in the post.
1 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.17 |
Target Fix | 4.17 |
Created | Jul 21, 2017 |
---|---|
Resolved | Jul 24, 2017 |
Updated | Apr 27, 2018 |