Description

This is not a regression. Tested in //UE5/Release-5.2 CL 26001984

The editor crashes when playing in editor on a level that has a break point placed on a ticking draw debug string node that is preceded by another draw debug string node that has some input values.

Steps to Reproduce
  1. Create or open any project
  2. Open the Level Blueprint
  3. Drag off of the Event Tick node's output execution pin and create a Draw Debug String node
  4. Set the node's Text Location input pin to 1.0, 0.0, 0.0
  5. Set the node's Text input pin to anything("Test" for example)
  6. Drag off of the Draw Debug String node's output execution pin and create another Draw Debug String node (this can be any node, the important part is that it breaks after the DrawDebugString executes)
  7. Select the second Draw Debug String node then press F9 to place a break point
  8. Compile then save the Level Blueprint saving the level itself if prompted
  9. Select Play in new editor window, it will not crash if you use the editor viewport

Expected Results:
Level plays and you are immediately taken to the break point with the first Draw Debug String node executing at least once.

Actual Results:
Editor crashes with an Unhandled Exception.

Callstack
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000000000ac
[Inline Frame] UnrealEditor-Engine.dll!FCanvas::DrawItem(FCanvasItem &) Line 1989
UnrealEditor-Engine.dll!UCanvas::DrawItem(FCanvasItem & Item, const UE::Math::TVector2<double> & InPosition) Line 1966
UnrealEditor-Engine.dll!AHUD::DrawDebugTextList() Line 737
UnrealEditor-Engine.dll!AHUD::PostRender() Line 158
UnrealEditor-Engine.dll!UGameViewportClient::Draw(FViewport * InViewport, FCanvas * SceneCanvas) Line 1893
UnrealEditor-Engine.dll!FViewport::Draw(bool bShouldPresent) Line 1854
UnrealEditor-Engine.dll!FSceneViewport::ResizeViewport(unsigned int NewSizeX, unsigned int NewSizeY, EWindowMode::Type NewWindowMode) Line 1621
UnrealEditor-Engine.dll!FSceneViewport::OnDrawViewport(const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 438
UnrealEditor-Slate.dll!SViewport::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 158
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 46
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31
UnrealEditor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SPanel::PaintArrangedChildren(const FPaintArgs & Args, const FArrangedChildren & ArrangedChildren, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 31
UnrealEditor-SlateCore.dll!SPanel::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 12
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SOverlay::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 207
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SCompoundWidget::OnPaint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 46
UnrealEditor-SlateCore.dll!SWidget::Paint(const FPaintArgs & Args, const FGeometry & AllottedGeometry, const FSlateRect & MyCullingRect, FSlateWindowElementList & OutDrawElements, int LayerId, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 1573
UnrealEditor-SlateCore.dll!SWindow::PaintSlowPath(const FSlateInvalidationContext & Context) Line 2075
UnrealEditor-SlateCore.dll!FSlateInvalidationRoot::PaintInvalidationRoot(const FSlateInvalidationContext & Context) Line 405
UnrealEditor-SlateCore.dll!SWindow::PaintWindow(double CurrentTime, float DeltaTime, FSlateWindowElementList & OutDrawElements, const FWidgetStyle & InWidgetStyle, bool bParentEnabled) Line 2109
UnrealEditor-Slate.dll!FSlateApplication::DrawWindowAndChildren(const TSharedRef<SWindow,1> & WindowToDraw, FDrawWindowArgs & DrawWindowArgs) Line 1155
UnrealEditor-Slate.dll!FSlateApplication::PrivateDrawWindows(TSharedPtr<SWindow,1> DrawOnlyThisWindow) Line 1391
UnrealEditor-Slate.dll!FSlateApplication::DrawWindows() Line 1099
UnrealEditor-Slate.dll!FSlateApplication::TickAndDrawWidgets(float DeltaTime) Line 1685
UnrealEditor-Slate.dll!FSlateApplication::Tick(ESlateTickType TickType) Line 1541
UnrealEditor-Slate.dll!FSlateApplication::EnterDebuggingMode() Line 3688
UnrealEditor-UnrealEd.dll!FKismetDebugUtilities::AttemptToBreakExecution(UBlueprint * BlueprintObj, const UObject * ActiveObject, const FFrame & StackFrame, const FBlueprintExceptionInfo & Info, UEdGraphNode * NodeStoppedAt, int DebugOpcodeOffset) Line 809
UnrealEditor-UnrealEd.dll!FKismetDebugUtilities::OnScriptException(const UObject * ActiveObject, const FFrame & StackFrame, const FBlueprintExceptionInfo & Info) Line 403
[Inline Frame] UnrealEditor-UnrealEd.dll!Invoke(void(*)(const UObject *, const FFrame &, const FBlueprintExceptionInfo &) &) Line 47
[Inline Frame] UnrealEditor-UnrealEd.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(*)(const UObject *, const FFrame &, const FBlueprintExceptionInfo &) &) Line 311
UnrealEditor-UnrealEd.dll!TBaseStaticDelegateInstance<void __cdecl(UObject const *,FFrame const &,FBlueprintExceptionInfo const &),FDefaultDelegateUserPolicy>::ExecuteIfSafe(const UObject * <Params_0>, const FFrame & <Params_1>, const FBlueprintExceptionInfo & <Params_2>) Line 777
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(const UObject *) Line 254
[Inline Frame] UnrealEditor-CoreUObject.dll!TMulticastDelegate<void __cdecl(UObject const *,FFrame const &,FBlueprintExceptionInfo const &),FDefaultDelegateUserPolicy>::Broadcast(const UObject *) Line 956
UnrealEditor-CoreUObject!FBlueprintCoreDelegates::ThrowScriptException(UObject const *,FFrame &,FBlueprintExceptionInfo const &) [ScriptCore.cpp:232]
UnrealEditor-CoreUObject!UObject::execBreakpoint(UObject *,FFrame &,void * const) [ScriptCore.cpp:2438]
UnrealEditor-CoreUObject!ProcessLocalScriptFunction(UObject *,FFrame &,void * const) [ScriptCore.cpp:1209]
UnrealEditor-CoreUObject!void ProcessScriptFunction<void (__cdecl*) [ScriptCore.cpp:1039]
UnrealEditor-CoreUObject!ProcessLocalFunction(UObject *,UFunction *,FFrame &,void * const) [ScriptCore.cpp:1279]
UnrealEditor-CoreUObject!ProcessLocalScriptFunction(UObject *,FFrame &,void * const) [ScriptCore.cpp:1209]
UnrealEditor-CoreUObject!UObject::ProcessInternal(UObject *,FFrame &,void * const) [ScriptCore.cpp:1306]
UnrealEditor-CoreUObject!UFunction::Invoke(UObject *,FFrame &,void * const) [Class.cpp:6659]
UnrealEditor-CoreUObject!UObject::ProcessEvent(UFunction *,void *) [ScriptCore.cpp:2145]
UnrealEditor-Engine!AActor::ProcessEvent(UFunction *,void *) [Actor.cpp:1122]
UnrealEditor-Engine!AActor::ReceiveTick(float) [Actor.gen.cpp:2533]
UnrealEditor-Engine!AActor::Tick(float) [Actor.cpp:1536]
UnrealEditor-Engine!AActor::TickActor(float,ELevelTick,FActorTickFunction &) [Actor.cpp:1516]
UnrealEditor-Engine!FActorTickFunction::ExecuteTick(float,ELevelTick,ENamedThreads::Type,TRefCountPtr<FGraphEvent> const &) [Actor.cpp:251]
UnrealEditor-Engine!FTickFunctionTask::DoTask(ENamedThreads::Type,TRefCountPtr<FGraphEvent> const &) [TickTaskManager.cpp:278]
UnrealEditor-Engine!TGraphTask<FTickFunctionTask>::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32> > &,ENamedThreads::Type,bool) [TaskGraphInterfaces.h:1265]
UnrealEditor-Core!FNamedTaskThread::ProcessTasksNamedThread(int,bool) [TaskGraph.cpp:758]
UnrealEditor-Core!FNamedTaskThread::ProcessTasksUntilQuit(int) [TaskGraph.cpp:649]
UnrealEditor-Core!FTaskGraphCompatibilityImplementation::WaitUntilTasksComplete(TArray<TRefCountPtr<FGraphEvent>,TSizedInlineAllocator<4,32,TSizedDefaultAllocator<32> > > const &,ENamedThreads::Type) [TaskGraph.cpp:2125]
UnrealEditor-Engine!FTickTaskSequencer::ReleaseTickGroup(ETickingGroup,bool) [TickTaskManager.cpp:556]
UnrealEditor-Engine!FTickTaskManager::RunTickGroup(ETickingGroup,bool) [TickTaskManager.cpp:1583]
UnrealEditor-Engine!UWorld::RunTickGroup(ETickingGroup,bool) [LevelTick.cpp:771]
UnrealEditor-Engine!UWorld::Tick(ELevelTick,float) [LevelTick.cpp:1515]
UnrealEditor-UnrealEd!7ff88cad0000  + 833ec3
UnrealEditor-UnrealEd!7ff88cad0000  + 1488ae6
UnrealEditor!7ff7cf1e0000  + 8aef
UnrealEditor!7ff7cf1e0000  + 2c9bc
UnrealEditor!7ff7cf1e0000  + 2caaa
UnrealEditor!7ff7cf1e0000  + 2ff84
UnrealEditor!7ff7cf1e0000  + 45f64
UnrealEditor!7ff7cf1e0000  + 4935a
KERNEL32!7ff950f50000  + 17614
ntdll!7ff951270000  + 526b1

Have Comments or More Details?

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

2
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions5.3
Target Fix5.4
Fix Commit27654489
Main Commit27654535
CreatedAug 22, 2023
ResolvedSep 6, 2023
UpdatedSep 7, 2023