Description

Editor crashes when a widget's tick contains a breakpoint at a print string node. Based on 4.16 warning message, this appears to be caused by the text attempting to draw when no draw buffer is available.

Regression:
Yes - in 4.16.3 an output log warning appears stating "LogSlate:Warning: Slate: Had to block on waiting for a draw buffer"

Steps to Reproduce
  1. Open UE4 Editor
  2. Add User Widget to project (myWidget)
  3. In the Widget Graph, connect Print String node to Tick
  4. Add a breakpoint to Print String node (default f9)
  5. In the level blueprint add BeginPlay->CreateWidget(myWidget)->AddToViewport execution string
  6. PIE
  7. After breakpoint is triggered the first time, click continue

Result:
Editor crashes before continuing execution

Expected:
Execution continues until the widget ticks again, causing the breakpoint to be triggered a second time

Callstack
LoginId:7156c35640f86204e61b8383f45dee17
EpicAccountId:c807849e05a0413d99e379f2802cae9c

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Build\++UE4+Release-4.17+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 596] Array index out of bounds: 0 from an array of size 0

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_SlateCore!FSlateClippingManager::PopClip() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\layout\clipping.cpp:296]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:920]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_Slate!SViewport::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\sviewport.cpp:126]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_Slate!SCanvas::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\scanvas.cpp:116]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_Slate!SBorder::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\sborder.cpp:85]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_Slate!SSplitter::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\widgets\layout\ssplitter.cpp:167]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SPanel::PaintArrangedChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:31]
UE4Editor_SlateCore!SPanel::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\spanel.cpp:12]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SOverlay::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\soverlay.cpp:97]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_SlateCore!SCompoundWidget::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\scompoundwidget.cpp:35]
UE4Editor_SlateCore!SWindow::OnPaint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swindow.cpp:1845]
UE4Editor_SlateCore!SWidget::Paint() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slatecore\private\widgets\swidget.cpp:885]
UE4Editor_Slate!FSlateApplication::DrawWindowAndChildren() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1231]
UE4Editor_Slate!FSlateApplication::PrivateDrawWindows() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1471]
UE4Editor_Slate!FSlateApplication::DrawWindows() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1188]
UE4Editor_Slate!FSlateApplication::TickApplication() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1773]
UE4Editor_Slate!FSlateApplication::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:1591]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3278]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\launch.cpp:166]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
UE4Editor!WinMain() [d:\build\++ue4+release-4.17+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
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-48579 in the post.

0
Login to Vote

Fixed
ComponentUE - Editor - UI Systems
Affects Versions4.17.1
Target Fix4.18
Fix Commit3658878
Main Commit3661409
Release Commit3658878
CreatedAug 18, 2017
ResolvedSep 22, 2017
UpdatedOct 4, 2017