Description

The first time that a Behavior Tree editor window changes from the tree to the Blackboard can cause a crash if you add and remove a key from the Blackboard via a different Behavior Tree editor window. If you open the blackboard view on both trees prior to adding and removing the key, the editor does not crash and works as is expected. The blackboard view can become stale if you add and remove keys from the other behavior tree editor tab, but it does not cause a crash of the editor.

Steps to Reproduce
  1. Create new Blackboard
  2. Create 2 Behavior Trees and set their Blackboard to the one created in step 1
  3. Add keys to the Blackboard
    1. Not sure of the amount of keys needed, but will not repro if only a few keys exist
    2. Here is a copy of the keys used to originally repro: [Image Removed]
  4. Close and re-open the editor
  5. Open the two BTs but careful not to open the blackboard view on them
  6. In one BT, switch to the BB view
  7. Add a Bool key
  8. Remove the Bool key
  9. Switch to the other BT
  10. Try to open the BB view

Expected Result: The Blackboard view opens as normal.

Actual Result: The editor hangs then crashes inside of GetPaletteItemIcon.

Callstack

 

UnrealEditor_BehaviorTreeEditor!SBehaviorTreeBlackboardItem::GetPaletteItemIcon() [E:\UE_5.3\Engine\Source\Editor\BehaviorTreeEditor\Private\SBehaviorTreeBlackboardView.cpp:173]
UnrealEditor_BehaviorTreeEditor!SBehaviorTreeBlackboardItem::Construct() [E:\UE_5.3\Engine\Source\Editor\BehaviorTreeEditor\Private\SBehaviorTreeBlackboardView.cpp:129]
UnrealEditor_BehaviorTreeEditor!TSlateDecl<SBehaviorTreeBlackboardItem,RequiredArgs::T1RequiredArgs<FCreateWidgetForActionData * const &> >::operator<<=() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Public\Widgets\DeclarativeSyntaxSupport.h:976]
UnrealEditor_BehaviorTreeEditor!SBehaviorTreeBlackboardView::HandleCreateWidgetForAction() [E:\UE_5.3\Engine\Source\Editor\BehaviorTreeEditor\Private\SBehaviorTreeBlackboardView.cpp:540]
UnrealEditor_BehaviorTreeEditor!TBaseSPMethodDelegateInstance<0,SBehaviorTreeBlackboardView,1,TSharedRef<SWidget,1> __cdecl(FCreateWidgetForActionData *),FDefaultDelegateUserPolicy>::Execute() [E:\UE_5.3\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:281]
UnrealEditor_GraphEditor!SGraphActionMenu::MakeWidget() [E:\UE_5.3\Engine\Source\Editor\GraphEditor\Private\SGraphActionMenu.cpp:920]
UnrealEditor_GraphEditor!TBaseSPMethodDelegateInstance<0,SGraphActionMenu,1,TSharedRef<ITableRow,1> __cdecl(TSharedPtr<FGraphActionNode,1>,TSharedRef<STableViewBase,1> const &),FDefaultDelegateUserPolicy,bool>::Execute() [E:\UE_5.3\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:281]
UnrealEditor_GraphEditor!STreeView<TSharedPtr<FGraphActionNode,1> >::GenerateNewWidget() [E:\UE_5.3\Engine\Source\Runtime\Slate\Public\Widgets\Views\STreeView.h:825]
UnrealEditor_GraphEditor!SListView<TSharedPtr<FGraphActionNode,1> >::GenerateWidgetForItem() [E:\UE_5.3\Engine\Source\Runtime\Slate\Public\Widgets\Views\SListView.h:1496]
UnrealEditor_GraphEditor!SListView<TSharedPtr<FGraphActionNode,1> >::ReGenerateItems() [E:\UE_5.3\Engine\Source\Runtime\Slate\Public\Widgets\Views\SListView.h:1396]
UnrealEditor_GraphEditor!STreeView<TSharedPtr<FGraphActionNode,1> >::ReGenerateItems() [E:\UE_5.3\Engine\Source\Runtime\Slate\Public\Widgets\Views\STreeView.h:1030]
UnrealEditor_Slate!STableViewBase::Tick() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Views\STableViewBase.cpp:308]
UnrealEditor_GraphEditor!STreeView<TSharedPtr<FGraphActionNode,1> >::Tick() [E:\UE_5.3\Engine\Source\Runtime\Slate\Public\Widgets\Views\STreeView.h:620]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1458]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_Slate!SBorder::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SBorder.cpp:129]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_Slate!SBorder::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SBorder.cpp:129]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_Slate!SSplitter::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SSplitter.cpp:253]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_Slate!SBorder::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SBorder.cpp:129]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_Slate!SSplitter::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Widgets\Layout\SSplitter.cpp:253]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SPanel::PaintArrangedChildren() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:31]
UnrealEditor_SlateCore!SPanel::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SPanel.cpp:12]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SOverlay::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SOverlay.cpp:207]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SCompoundWidget::OnPaint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SCompoundWidget.cpp:46]
UnrealEditor_SlateCore!SWidget::Paint() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1573]
UnrealEditor_SlateCore!SWindow::PaintSlowPath() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWindow.cpp:2075]
UnrealEditor_SlateCore!FSlateInvalidationRoot::PaintInvalidationRoot() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\FastUpdate\SlateInvalidationRoot.cpp:405]
UnrealEditor_SlateCore!SWindow::PaintWindow() [E:\UE_5.3\Engine\Source\Runtime\SlateCore\Private\Widgets\SWindow.cpp:2109]
UnrealEditor_Slate!FSlateApplication::DrawWindowAndChildren() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1154]
UnrealEditor_Slate!FSlateApplication::PrivateDrawWindows() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1390]
UnrealEditor_Slate!FSlateApplication::DrawWindows() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1098]
UnrealEditor_Slate!FSlateApplication::TickAndDrawWidgets() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1684]
UnrealEditor_Slate!FSlateApplication::Tick() [E:\UE_5.3\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:1540]
UnrealEditor!FEngineLoop::Tick() [E:\UE_5.3\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5951]
UnrealEditor!GuardedMain() [E:\UE_5.3\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
UnrealEditor!GuardedMainWrapper() [E:\UE_5.3\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:118]
UnrealEditor!LaunchWindowsStartup() [E:\UE_5.3\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:258]
UnrealEditor!WinMain() [E:\UE_5.3\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:298]
UnrealEditor!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

 

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - AI - BehaviorTree
Affects Versions5.2.15.3
Target Fix5.4
Fix Commit27420438
Main Commit27420500
CreatedAug 24, 2023
ResolvedAug 29, 2023
UpdatedAug 30, 2023