Description

In some situation, Slate tries to secure incredible amount size data and run out of memory. This happens a cell having very long and complex serialized text appears on the editor and it is placed to left as much as possible on a large screen.

The case reported by the customer has small size data table (can't run out of memory), but it has data with thousands element on vector array. Then their "ControlPoint" field tries to have serialized text on Data Table for human eyes and it ends up to secure a super large space (111599 x 21 pixels) on Slate vertex buffer. This trigger ensureMsg like;

> LogOutputDevice: Error: Ensure condition failed: PixelSize.X >= 0.f && PixelSize.X <= (float)std::numeric_limits<uint16>::max() [Link Removed] [Line: 186] 
The size X '111599.000000' is too small or big to fit in the SlateVertex buffer.

We may have received the similar report from community.

https://forums.unrealengine.com/t/unreal-5-3-1-bug-out-of-video-memory-reproduce/1326452/2

It is weird, but this excessive vertex buffer request does not let the system crash if you place the data table window to the right monitor, or your monitor is a single and Full HD. It seems to depend on how wide space is there between the cell in a question and the right border on a whole of your screen.

Note: Not to block the customer's business, I provided non-ideal & temporal workaround which trim text with 1024 characters at FTextLayout::CreateLineViewBlocks().

if (StopIndex != INDEX_NONE)
{
	BlockStopIndex = FMath::Min(StopIndex, BlockStopIndex);
}
+ else
+ {
+	// Workaround
+	BlockStopIndex = FMath::Min(BlockBeginIndex + 1024, BlockStopIndex);
+ } 
Steps to Reproduce
  1. Prepare enough wide monitor (like 4K) or dual 4K monitors (extend settings).
  2. Download the repro project (DataTableCrashSample.zip) from [Link Removed]. (Remind that that is a confidential post.)
  3. Open the project.
  4. Open DT_Crash asset from the content browser.
  5. Maximize the data table editor.
  6. Place the window to your left monitor so that right space from the data table editor to the edge of the whole screen can be maximized. 
  7. Wait a while until crash happens. (In background, memory is being eaten very quickly.)

 

Have Comments or More Details?

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

0
Login to Vote

Backlogged
ComponentUE - Editor - UI Systems - Slate
Affects Versions5.3.2
CreatedFeb 26, 2024
UpdatedSep 30, 2024
View Jira Issue