Slate UI crash, font cache accessing outside of array index?

This is a 50% occurance when I load into a new level.

What am I doing wrong? This seems like an issue with the engine code - or there is some corruption/missing reference in my UI files?

The stack shown to me is as follows:

Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 771] Array index out of bounds: 1101738481 from an array of size 25231360

UnrealEditor_SlateCore!GetTypeHash() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Public\UObject\ObjectHandle.h:191]
UnrealEditor_SlateCore!GetTypeHash() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Public\Fonts\CompositeFont.h:212]
UnrealEditor_SlateCore!TSet<TTuple<FFontData,TSharedPtr<FFreeTypeFace,1> >,TDefaultMapHashableKeyFuncs<FFontData,TSharedPtr<FFreeTypeFace,1>,0>,FDefaultSetAllocator>::Rehash() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Set.h:1560]
UnrealEditor_SlateCore!TSet<TTuple<FFontData,TSharedPtr<FFreeTypeFace,1> >,TDefaultMapHashableKeyFuncs<FFontData,TSharedPtr<FFreeTypeFace,1>,0>,FDefaultSetAllocator>::Emplace<TPairInitializer<FFontData const &,TSharedPtr<FFreeTypeFace,1> const &> >() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Set.h:749]
UnrealEditor_SlateCore!FCompositeFontCache::GetFontFace() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\FontCacheCompositeFont.cpp:456]
UnrealEditor_SlateCore!FCompositeFontCache::DoesFontDataSupportCodepoint() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\FontCacheCompositeFont.cpp:604]
UnrealEditor_SlateCore!FCompositeFontCache::GetFontDataForCodepoint() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\FontCacheCompositeFont.cpp:352]
UnrealEditor_SlateCore!FSlateTextShaper::PerformKerningOnlyTextShaping() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\SlateTextShaper.cpp:354]
UnrealEditor_SlateCore!FSlateTextShaper::PerformTextShaping() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\SlateTextShaper.cpp:269]
UnrealEditor_SlateCore!FSlateTextShaper::ShapeBidirectionalText() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\SlateTextShaper.cpp:115]
UnrealEditor_SlateCore!FSlateFontCache::ShapeBidirectionalText() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Fonts\FontCache.cpp:994]
UnrealEditor_Slate!FShapedTextCache::AddShapedText() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\ShapedTextCache.cpp:29]
UnrealEditor_Slate!FShapedTextCache::FindOrAddShapedText() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\ShapedTextCache.cpp:76]
UnrealEditor_Slate!ShapedTextCacheUtil::MeasureShapedText() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\ShapedTextCache.cpp:120]
UnrealEditor_Slate!FSlateTextRun::Measure() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\SlateTextRun.cpp:59]
UnrealEditor_Slate!FTextLayout::FRunModel::CreateBlock() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:2715]
UnrealEditor_Slate!FTextLayout::CreateLineViewBlocks() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:330]
UnrealEditor_Slate!FTextLayout::FlowLineLayout() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:588]
UnrealEditor_Slate!FTextLayout::FlowLayout() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:536]
UnrealEditor_Slate!FTextLayout::UpdateLayout() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:1209]
UnrealEditor_Slate!FTextLayout::UpdateIfNeeded() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Text\TextLayout.cpp:1197]
UnrealEditor_Slate!FSlateTextBlockLayout::ComputeDesiredSize() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Text\SlateTextBlockLayout.cpp:126]
UnrealEditor_Slate!STextBlock::ComputeDesiredSize() [D:\build++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Text\STextBlock.cpp:326]
UnrealEditor_SlateCore!SWidget::CacheDesiredSize() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:941]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1748]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::Prepass_ChildLoop() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1801]
UnrealEditor_SlateCore!SWidget::Prepass_Internal() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:1742]
UnrealEditor_SlateCore!SWidget::SlatePrepass() [D:\build++UE5\Sync\Engine\Source\Runtime\SlateCore\Private\Widgets\SWidget.cpp:694]
UnrealEditor_Engine!UGameEngine::SwitchGameWindowToUseGameViewport() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\GameEngine.cpp:680]
UnrealEditor_MoviePlayer!FDefaultGameMoviePlayer::WaitForMovieToFinish() [D:\build++UE5\Sync\Engine\Source\Runtime\MoviePlayer\Private\DefaultGameMoviePlayer.cpp:619]
UnrealEditor!FEngineLoop::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5861]
UnrealEditor!GuardedMain() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:188]
UnrealEditor!GuardedMainWrapper() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:118]
UnrealEditor!LaunchWindowsStartup() [D:\build++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:258]
UnrealEditor!WinMain() [D:\build++UE5\Sync\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

Thanks for the help.

yes it seem to be an issue in your widget, you will have to dig around where you have use any array accessing or might be using a custom font that causing that issue.

I fixed it, had a lingering font asset in the explorer folder not being able to be imported into uasset. Had some issues deleting it but was able to drag it into the recycling bin. That resolved it.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.