Description

It is possible for the while loop in UnrealEditor-SubobjectDataInterface.dll!USubobjectDataSubsystem::GetActorRootHandle(const FSubobjectDataHandle & StartingHandle) Line 815  to not terminate when quickly switching between components while in the Actor Blueprint Editor. See video posted here for repro [Link Removed]

 

Steps to Reproduce

Create a new BP Actor and add some components. Quickly change between those components in the editor. Eventually the editor will lock and end up in an infinite loop.  

 

[Link Removed]

Callstack

>    UnrealEditor-SubobjectDataInterface.dll!USubobjectDataSubsystem::GetActorRootHandle(const FSubobjectDataHandle & StartingHandle) Line 815    C++
     UnrealEditor-SubobjectDataInterface.dll!USubobjectDataSubsystem::AttachSubobject(const FSubobjectDataHandle & OwnerHandle, const FSubobjectDataHandle & ChildToAddHandle) Line 2028    C++
     UnrealEditor-SubobjectDataInterface.dll!USubobjectDataSubsystem::ReparentSubobjects(const FReparentSubobjectParams & Params, const TArray<FSubobjectDataHandle,TSizedDefaultAllocator<32>> & HandlesToMove) Line 1896    C++
     UnrealEditor-SubobjectEditor.dll!SSubobjectBlueprintEditor::OnAttachToDropAction(TSharedPtr<FSubobjectEditorTreeNode,1> DroppedOn, const TArray<TSharedPtr<FSubobjectEditorTreeNode,1>,TSizedDefaultAllocator<32>> & DroppedNodePtrs) Line 402    C++
     UnrealEditor-SubobjectEditor.dll!SSubobject_RowWidget::HandleOnAcceptDrop(const FDragDropEvent & DragDropEvent, EItemDropZone DropZone, TSharedPtr<FSubobjectEditorTreeNode,1> TargetItem) Line 1363    C++
     [Inline Frame] UnrealEditor-SubobjectEditor.dll!Invoke(FReply(SSubobject_RowWidget::*)(const FDragDropEvent &, EItemDropZone, TSharedPtr<FSubobjectEditorTreeNode,1>)) Line 66    C++
     [Inline Frame] UnrealEditor-SubobjectEditor.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(FReply(SSubobject_RowWidget::*)(const FDragDropEvent &, EItemDropZone, TSharedPtr<FSubobjectEditorTreeNode,1>) &) Line 310    C++
     UnrealEditor-SubobjectEditor.dll!TBaseSPMethodDelegateInstance<0,SSubobject_RowWidget,1,FReply __cdecl(FDragDropEvent const &,enum EItemDropZone,TSharedPtr<FSubobjectEditorTreeNode,1>),FDefaultDelegateUserPolicy>::Execute(const FDragDropEvent & <Params_0>, EItemDropZone <Params_1>, TSharedPtr<FSubobjectEditorTreeNode,1> <Params_2>) Line 281    C++
     UnrealEditor-SubobjectEditor.dll!TDelegate<FReply __cdecl(FDragDropEvent const &,enum EItemDropZone,TSharedPtr<FSubobjectEditorTreeNode,1>),FDefaultDelegateUserPolicy>::Execute(const FDragDropEvent & <Params_0>, EItemDropZone <Params_1>, TSharedPtr<FSubobjectEditorTreeNode,1> <Params_2>) Line 614    C++
     UnrealEditor-SubobjectEditor.dll!STableRow<TSharedPtr<FSubobjectEditorTreeNode,1>>::OnDrop::__l2::<lambda_1>::operator()() Line 814    C++
     UnrealEditor-SubobjectEditor.dll!STableRow<TSharedPtr<FSubobjectEditorTreeNode,1>>::OnDrop(const FGeometry & MyGeometry, const FDragDropEvent & DragDropEvent) Line 791    C++
     UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l10::<lambda_3>::operator()(const FArrangedWidget & CurWidget, const FPointerEvent & Event) Line 5335    C++
     UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerUpEvent'::`10'::<lambda_3>>(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::__l10::<lambda_3> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 442    C++
     UnrealEditor-Slate.dll!FSlateApplication::RoutePointerUpEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5330    C++
     UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(const FPointerEvent & MouseEvent) Line 5857    C++
     UnrealEditor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5813    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2253    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2765    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1926    C++
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 930    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 936    C++
     [External Code]    
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 116    C++
     UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 145    C++
     UnrealEditor.exe!FEngineLoop::Tick() Line 5725    C++
     [Inline Frame] UnrealEditor.exe!EngineTick() Line 61    C++
     UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 180    C++
     UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247    C++
     UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298    C++
     [External Code]    

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint Editor
Affects Versions5.5
Target Fix5.5
Fix Commit35625087
CreatedMay 14, 2024
ResolvedAug 19, 2024
UpdatedAug 21, 2024
View Jira Issue