When using FText::FromStringTable to initialize an FText variable in the constructor of an FStruct that inherits from FTableRowBase, an assert is caused due to recursion. The assert is as follows:
Assertion Failed: RecursionNotAllowed.Increment() == 1
Regression?: No
This occurs in 4.20
[2019.01.04-22.06.22:114][ 0]LogWindows: Error: === Critical error: === [2019.01.04-22.06.22:114][ 0]LogWindows: Error: [2019.01.04-22.06.22:115][ 0]LogWindows: Error: Assertion failed: RecursionNotAllowed.Increment() == 1 [File:D:\matthew.clark_Main_Stream\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line: 4386] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x000007fefcf7bded KERNELBASE.dll!UnknownFunction [] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001404bf676 StringTableAssertion.exe!FWindowsErrorOutputDevice::Serialize() [d:\matthew.clark_main_stream\engine\source\runtime\core\private\windows\windowserroroutputdevice.cpp:63] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001402bcb77 StringTableAssertion.exe!FOutputDevice::LogfImpl() [d:\matthew.clark_main_stream\engine\source\runtime\core\private\misc\outputdevice.cpp:71] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001401fb129 StringTableAssertion.exe!FDebug::AssertFailed() [d:\matthew.clark_main_stream\engine\source\runtime\core\private\misc\assertionmacros.cpp:413] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x0000000140571fd9 StringTableAssertion.exe!FAsyncLoadingThread::ProcessAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4414] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x000000014059ceb0 StringTableAssertion.exe!FAsyncLoadingThread::TickAsyncThread() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:5243] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x000000014059b93b StringTableAssertion.exe!FAsyncLoadingThread::TickAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4948] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x0000000140555c25 StringTableAssertion.exe!FlushAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:7216] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001407f9504 StringTableAssertion.exe!LoadPackageInternal() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1205] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001407f9008 StringTableAssertion.exe!LoadPackage() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1498] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001408150b2 StringTableAssertion.exe!StaticLoadObjectInternal() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:944] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x000000014081454c StringTableAssertion.exe!StaticLoadObject() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:993] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x0000000140816b45 StringTableAssertion.exe!FSoftObjectPath::TryLoad() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\softobjectpath.cpp:353] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001428f57df StringTableAssertion.exe!FStringTableEngineBridge::RedirectAndLoadStringTableAssetImpl() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\internationalization\stringtable.cpp:91] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001401d3573 StringTableAssertion.exe!FStringTableRedirects::RedirectTableIdAndKey() [d:\matthew.clark_main_stream\engine\source\runtime\core\private\internationalization\stringtablecore.cpp:597] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001401ba33c StringTableAssertion.exe!FText::FromStringTable() [d:\matthew.clark_main_stream\engine\source\runtime\core\private\internationalization\text.cpp:951] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x0000000140071532 StringTableAssertion.exe!FTestStruct::FTestStruct() [d:\a - user stuff\stringtableassertionmain\source\stringtableassertion\myactor.h:22] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001405cc5ae StringTableAssertion.exe!UScriptStruct::InitializeStruct() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\class.cpp:2509] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001426d4293 StringTableAssertion.exe!UDataTable::LoadStructData() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\datatable.cpp:114] [2019.01.04-22.06.22:115][ 0]LogWindows: Error: [Callstack] 0x00000001426fedde StringTableAssertion.exe!UDataTable::Serialize() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\datatable.cpp:196] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000140547555 StringTableAssertion.exe!FAsyncPackage::EventDrivenSerializeExport() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:3591] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000140574596 StringTableAssertion.exe!FAsyncPackage::ProcessImportsAndExports_Event() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:3915] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000014051e525 StringTableAssertion.exe!<lambda_f38d24ccf87b0cb414bbbfde65901bf5>::operator()() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:2713] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000140572537 StringTableAssertion.exe!FAsyncLoadingThread::ProcessAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4464] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000014059ceb0 StringTableAssertion.exe!FAsyncLoadingThread::TickAsyncThread() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:5243] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000014059b93b StringTableAssertion.exe!FAsyncLoadingThread::TickAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4948] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000140555c25 StringTableAssertion.exe!FlushAsyncLoading() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:7216] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x00000001407f9504 StringTableAssertion.exe!LoadPackageInternal() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1205] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x00000001407f9008 StringTableAssertion.exe!LoadPackage() [d:\matthew.clark_main_stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1498] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x00000001430d6f07 StringTableAssertion.exe!UEngine::LoadMap() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\unrealengine.cpp:12143] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000143075afe StringTableAssertion.exe!UEngine::Browse() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\unrealengine.cpp:11600] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x0000000142817418 StringTableAssertion.exe!UGameInstance::StartGameInstance() [d:\matthew.clark_main_stream\engine\source\runtime\engine\private\gameinstance.cpp:503] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000013fb1befd StringTableAssertion.exe!FEngineLoop::Init() [d:\matthew.clark_main_stream\engine\source\runtime\launch\private\launchengineloop.cpp:3239] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000013fb2d22b StringTableAssertion.exe!GuardedMain() [d:\matthew.clark_main_stream\engine\source\runtime\launch\private\launch.cpp:163] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000013fb2d3ba StringTableAssertion.exe!GuardedMainWrapper() [d:\matthew.clark_main_stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:145] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000013fb3cd31 StringTableAssertion.exe!WinMain() [d:\matthew.clark_main_stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:276] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000014401fe06 StringTableAssertion.exe!__scrt_common_main_seh() [d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x00000000771b59cd kernel32.dll!UnknownFunction [] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [Callstack] 0x000000007741385d ntdll.dll!UnknownFunction [] [2019.01.04-22.06.22:116][ 0]LogWindows: Error: [2019.01.04-22.06.22:140][ 0]LogExit: Executing StaticShutdownAfterError [2019.01.04-22.06.22:142][ 0]LogWindows: FPlatformMisc::RequestExit(1)
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-68035 in the post.
3 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.20, 4.21, 4.22 |
Target Fix | 4.22 |
Created | Jan 4, 2019 |
---|---|
Resolved | Mar 13, 2019 |
Updated | Mar 13, 2019 |