Systematic crash when creating a child blueprint

Hi,

I’ve got a systematic crash with version 4.8 when trying to create a child blueprint of one of our complex BP inheriting actors…

I did not succeed in debugging the issue myself so I searched for a minimal repro scenario… Here it is :

First, create a structure that only contains an array of static meshes.
Second, create a blueprint class inheriting actor and containing an array of the previous structure.
Create an instance of this blueprint and add an empty element to the array of struct.

Create a child blueprint from this actor.

In this final step, I systematically get a crash in the properties copies steps…

If anyone can help me with this one…
Thanks in advance!

Here is the callstack:

UE4Editor-Core.dll!FMallocTBB::Realloc(void * Ptr, unsigned __int64 NewSize, unsigned int Alignment) Line 70 C++
UE4Editor-Core.dll!FHeapAllocator::ForAnyElementType::ResizeAllocation(int PreviousNumElements, int NumElements, unsigned __int64 NumBytesPerElement) Line 344 C++
UE4Editor-UnrealEd.dll!FScriptArrayHelper::EmptyAndAddUninitializedValues(int Count) Line 2481 C++
UE4Editor-UnrealEd.dll!EditorUtilities::CopySinglePropertyRecursive(const void * const InSourcePtr, void * const InTargetPtr, UObject * const InTargetObject, UProperty * const InProperty) Line 896 C++
UE4Editor-UnrealEd.dll!EditorUtilities::CopySinglePropertyRecursive(const void * const InSourcePtr, void * const InTargetPtr, UObject * const InTargetObject, UProperty * const InProperty) Line 876 C++
UE4Editor-UnrealEd.dll!EditorUtilities::CopySinglePropertyRecursive(const void * const InSourcePtr, void * const InTargetPtr, UObject * const InTargetObject, UProperty * const InProperty) Line 896 C++
UE4Editor-UnrealEd.dll!EditorUtilities::CopyActorProperties(AActor * SourceActor, AActor * TargetActor, const EditorUtilities::ECopyOptions::Type Options) Line 991 C++
UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CreateBlueprintFromActor(const FName BlueprintName, UObject * Outer, AActor * Actor, bool bReplaceActor) Line 1299 C++
UE4Editor-UnrealEd.dll!FKismetEditorUtilities::CreateBlueprintFromActor(const FString & Path, AActor * Actor, bool bReplaceActor) Line 1153 C++
UE4Editor-KismetWidgets.dll!FCreateBlueprintFromActorDialog::OnCreateBlueprint(const FString & InAssetPath, bool bInHarvest) Line 80 C++
UE4Editor-KismetWidgets.dll!TBaseStaticDelegateInstance<void __cdecl(FString const & __ptr64),bool>::ExecuteIfSafe(const FString & <Params_0>) Line 921 C++
UE4Editor-UnrealEd.dll!SCreateAssetFromObject::OnCreateAssetFromActorClicked() Line 129 C++
UE4Editor-UnrealEd.dll!TMemberFunctionCaller<SCreateAssetFromObject,FReply (__cdecl SCreateAssetFromObject::)(void) __ptr64>::operator()<>() Line 161 C++
UE4Editor-UnrealEd.dll!TTupleImpl<TIntegerSequence<> >::ApplyAfter_ExplicitReturnType<FReply,TMemberFunctionCaller<SCreateAssetFromObject,FReply (__cdecl SCreateAssetFromObject::
)(void) __ptr64> >(TMemberFunctionCaller<SCreateAssetFromObject,FReply (__cdecl SCreateAssetFromObject::*)(void)> && Func) Line 113 C++
UE4Editor-UnrealEd.dll!TBaseSPMethodDelegateInstance<0,SCreateAssetFromObject,0,FReply __cdecl(void)>::Execute() Line 282 C++
UE4Editor-Slate.dll!TBaseDelegate::Execute() Line 440 C++
UE4Editor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent) Line 239 C++

Hi Reload,

Could you include the entire callstack (MachineID / EpicID)?

I attempted to reproduce this using the steps you provided but I couldn’t get your results. Would you be will to create a small test project and upload it here?

Hi,

Here is a test project showing the issue.link text
I reproduced it with the unmodified 4.8.3 version.

I don’t get the crash report window (don’t know why), so I can’t include the MachineID / EpicID…
The previous callstack I attached was from a debug session of our modified version of the engine directly taken from Visual Studio… But, like I just said, the same crash occurs in the stock version of the engine.

EDIT : I re-uploaded the complete project as my first upload was missing assets. Sorry! To reproduce the crash, just open Minimal_crash.umap, select the NewBlueprint actor and EditBlueprint/Create Child Blueprint Class in the details panel. (Select a location and proceed to create the asset.)

Thanks in advance!
Laury

Hi Reload,

I’m just closing this post with our resolution.

I was able to reproduce this in 4.8.3, however it is fixed in 4.9.1.

As a workaround, the issue seems to only effect the creation of a Child Blueprint Class if it is created from the Details panel. If you right-click the asset in the Content Browser, it will create a Child Blueprint without crashing.

Cheers,

TJ