Description

FControlRigBlueprintActions::CreateNewControlRigAsset is crashing in ResolveObjectHandleNoRead.  Looking at the control rig in UControlRigBlueprint::Serialize, it's marked as pendingkill but I'm unsure if that's related to the crash.

Steps to Reproduce
  1. Create an editor utility blueprint (asset action utility as the parent class)
  2. Set the blueprint up as shown in the attached screenshot
  3. In the content browser, r-click on a skeletal mesh asset and run the utility blueprint via Scripted Asset Actions > Create Control Rig
    1. Expected behaviour: a control rig asset is created
    2. Actual behaviour: editor crashes
Callstack
 UE::CoreUObject::Private::ResolveObjectHandleNoRead(UE::CoreUObject::Private::FObjectHandlePrivate &) ObjectHandle.h:255
FRigVMClient::SetOuterClientHost(UObject *,const FName &) RigVMClient.cpp:71
UControlRigBlueprint::Serialize(FArchive &) ControlRigBlueprint.cpp:846
FTransaction::FObjectRecord::SerializeObject(FArchive &) EditorTransaction.cpp:257
FTransaction::FObjectRecord::SerializeContents(FArchive &,int) EditorTransaction.cpp:241
FTransaction::FObjectRecord::FObjectRecord(FTransaction *,UObject *,TUniquePtr<FChange,TDefaultDelete<FChange> >,FScriptArray *,int,int,int,int,unsigned int,void (*)(void *),void (*)(FArchive &, void *),void (*)(void *)) EditorTransaction.cpp:137
FTransaction::SaveObject(UObject *) EditorTransaction.cpp:712
SaveToTransactionBuffer(UObject *,bool) UObjectGlobals.cpp:3206
StaticConstructObject_Internal(const FStaticConstructObjectParameters &) UObjectGlobals.cpp:4464
NewObject<UBlueprint>(UObject *,const UClass *,FName,EObjectFlags,UObject *,bool,FObjectInstancingGraph *,UPackage *) UObjectGlobals.h:1736
FKismetEditorUtilities::CreateBlueprint(UClass *,UObject *,FName,EBlueprintType,TSubclassOf<UBlueprint>,TSubclassOf<UBlueprintGeneratedClass>,FName) Kismet2.cpp:444
UControlRigBlueprintFactory::FactoryCreateNew(UClass *,UObject *,FName,EObjectFlags,UObject *,FFeedbackContext *,FName) ControlRigBlueprintFactory.cpp:299
UAssetToolsImpl::CreateAsset(const FString &,const FString &,UClass *,UFactory *,FName) AssetTools.cpp:1678
FControlRigBlueprintActions::CreateNewControlRigAsset(const FString &) ControlRigBlueprintActions.cpp:195
UControlRigBlueprintFactory::CreateNewControlRigAsset(const FString &) ControlRigBlueprintFactory.cpp:312
UControlRigBlueprintFactory::execCreateNewControlRigAsset(UObject *,FFrame &,void *const) ControlRigBlueprintFactory.gen.cpp:119
UObject::execCallMathFunction(UObject *,FFrame &,void *const) ScriptCore.cpp:1075
FFrame::Step(UObject *,void *const) ScriptCore.cpp:477
UObject::execLetObj(UObject *,FFrame &,void *const) ScriptCore.cpp:2879
FFrame::Step(UObject *,void *const) ScriptCore.cpp:477
ProcessLocalScriptFunction(UObject *,FFrame &,void *const) ScriptCore.cpp:1233
UObject::ProcessInternal(UObject *,FFrame &,void *const) ScriptCore.cpp:1303
UFunction::Invoke(UObject *,FFrame &,void *const) Class.cpp:6686
UObject::ProcessEvent(UFunction *,void *) ScriptCore.cpp:2140
``FBlutilityMenuExtensions::CreateBlutilityActionsMenu<FAssetData>'::`2'::<lambda_1>::operator()'::`6'::<lambda_1>::operator()() BlutilityMenuExtensions.cpp:1116
TBaseFunctorDelegateInstance<void __cdecl(void),FDefaultDelegateUserPolicy,``FBlutilityMenuExtensions::CreateBlutilityActionsMenu<FAssetData>'::`2'::<lambda_1>::operator()'::`6'::<lambda_1> >::ExecuteIfSafe() DelegateInstancesImpl.h:868
TDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>() DelegateSignatureImpl.inl:570
SMenuEntryBlock::OnClicked(bool) SMenuEntryBlock.cpp:1163
SMenuEntryBlock::OnMenuItemButtonClicked() SMenuEntryBlock.cpp:1117
UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int> >::ApplyAfter<FReply (__cdecl SMenuEntryBlock::*const &)(void),SMenuEntryBlock * &>(FReply (SMenuEntryBlock::*&)(),SMenuEntryBlock *&) Tuple.h:309
TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,1,FReply __cdecl(void),FDefaultDelegateUserPolicy>::Execute() DelegateInstancesImpl.h:281
SButton::ExecuteOnClick() SButton.cpp:465
SButton::OnMouseButtonUp(const FGeometry &,const FPointerEvent &) SButton.cpp:390
SMenuEntryButton::OnMouseButtonUp(const FGeometry &,const FPointerEvent &) SMenuEntryBlock.cpp:431
`FSlateApplication::RoutePointerUpEvent'::`8'::<lambda_3>::operator()(const FArrangedWidget &,const FPointerEvent &) SlateApplication.cpp:5223
FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,`FSlateApplication::RoutePointerUpEvent'::`8'::<lambda_3> >(FSlateApplication *,FToLeafmostPolicy,FPointerEvent,const <lambda_3> &,ESlateDebuggingInputEvent) SlateApplication.cpp:442
FSlateApplication::RoutePointerUpEvent(const FWidgetPath &,const FPointerEvent &) SlateApplication.cpp:5209
FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent &) SlateApplication.cpp:5778
FSlateApplication::OnMouseUp(Type,TVector2<double>) SlateApplication.cpp:5743
FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage &) WindowsApplication.cpp:2236
FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> &,HWND__ *,unsigned int,unsigned long long,long long,int,int,unsigned int) WindowsApplication.cpp:2743
FWindowsApplication::ProcessMessage(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:1097
WindowsApplication_WndProc(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:923
FWindowsApplication::AppWndProc(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:928
<unknown> 0x00007ffbaabee858
<unknown> 0x00007ffbaabee299
WinPumpMessages() WindowsPlatformApplicationMisc.cpp:116
FWindowsPlatformApplicationMisc::PumpMessages(bool) WindowsPlatformApplicationMisc.cpp:145
FEngineLoop::Tick() LaunchEngineLoop.cpp:5781
EngineTick() Launch.cpp:61
GuardedMain(const wchar_t *) Launch.cpp:190
LaunchWindowsStartup(HINSTANCE__ *,HINSTANCE__ *,char *,int,const wchar_t *) LaunchWindows.cpp:247
WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) LaunchWindows.cpp:298
[Inlined] invoke_main() 0x00007ff7dd5b3576
__scrt_common_main_seh() 0x00007ff7dd5b3555
<unknown> 0x00007ffbaaa97344
<unknown> 0x00007ffbabb026b1

 

Have Comments or More Details?

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

2
Login to Vote

Fixed
ComponentUE - Anim - Rigging - Control Rig
Affects Versions5.3.2
Target Fix5.4
Fix Commit29684095
Main Commit29684108
CreatedNov 10, 2023
ResolvedNov 13, 2023
UpdatedDec 4, 2023