Description

BuildTextMesh function queued as AsyncTasks may be called during saving (renaming) a level containing Text3DComponents. 
The following workaround fix the problem.

void UText3DComponent::BuildTextMesh(const bool bCleanCache)
{
	if (!GetWorld() || GetWorld()->WorldType == EWorldType::Inactive)return;  //workaround
	// If we're already building, or have a build pending, don't do anything.

Steps to Reproduce
  1. Open attached project on 5.0 [Link Removed]
  2. Repeat renaming the TestMap in the content browser

 

Result:

The editor crashes with log : 

Illegal call to StaticConstructObject() while serializing object data! (Object will not be saved!) 

see call stack for details

Callstack
Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 3498] Illegal call to StaticConstructObject() while serializing object data! (Object will not be saved!)UnrealEditor_CoreUObject!StaticConstructObject_Internal() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:3501]
UnrealEditor_Text3D!UText3DComponent::AllocateGlyphs() [D:\build\++UE5\Sync\Engine\Plugins\Experimental\Text3D\Source\Text3D\Private\Text3DComponent.cpp:278]
UnrealEditor_Text3D!UText3DComponent::BuildTextMeshInternal() [D:\build\++UE5\Sync\Engine\Plugins\Experimental\Text3D\Source\Text3D\Private\Text3DComponent.cpp:799]
UnrealEditor_Core!TGraphTask<FAsyncGraphTask>::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:975]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksNamedThread() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:753]
UnrealEditor_Core!FNamedTaskThread::ProcessTasksUntilIdle() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:653]
UnrealEditor_Core!FTaskGraphCompatibilityImplementation::ProcessThreadUntilIdle() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:2105]
UnrealEditor_Engine!FFrameEndSync::Sync() [D:\build\++UE5\Sync\Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp:11844]
UnrealEditor_UnrealEd!TickSlate() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FeedbackContextEditor.cpp:388]
UnrealEditor_UnrealEd!FFeedbackContextEditor::ProgressReported() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FeedbackContextEditor.cpp:609]
UnrealEditor_Core!FFeedbackContext::UpdateUI() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\FeedbackContext.cpp:39]
UnrealEditor_Core!FFeedbackContext::RequestUpdateUI() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\FeedbackContext.cpp:29]
UnrealEditor_Core!FSlowTask::EnterProgressFrame() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\SlowTask.cpp:133]
UnrealEditor_Core!FSlowTask::Destroy() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Misc\SlowTask.cpp:89]
UnrealEditor_CoreUObject!`anonymous namespace'::SaveHarvestedRealms() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:2298]
UnrealEditor_CoreUObject!`anonymous namespace'::InnerSave() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:2349]
UnrealEditor_CoreUObject!UPackage::Save2() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage2.cpp:2499]
UnrealEditor_CoreUObject!UPackage::Save() [D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp:1789]
UnrealEditor_UnrealEd!UEditorEngine::Save() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:4454]
UnrealEditor_UnrealEd!UEditorEngine::SavePackage() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:4473]
UnrealEditor_UnrealEd!UEditorEngine::Exec_Obj() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorServer.cpp:4725]
UnrealEditor_UnrealEd!UEditorEngine::Exec() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\EditorServer.cpp:5780]
UnrealEditor_UnrealEd!UUnrealEdEngine::Exec() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\UnrealEdSrv.cpp:659]
UnrealEditor_UnrealEd!SaveWorld() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:872]
UnrealEditor_UnrealEd!FEditorFileUtils::SaveMap() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:2862]
UnrealEditor_UnrealEd!InternalSavePackage() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:3336]
UnrealEditor_UnrealEd!InternalPromptForCheckoutAndSave() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:3944]
UnrealEditor_UnrealEd!FEditorFileUtils::PromptForCheckoutAndSave() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:4246]
UnrealEditor_UnrealEd!FEditorFileUtils::PromptForCheckoutAndSave() [D:\build\++UE5\Sync\Engine\Source\Editor\UnrealEd\Private\FileHelpers.cpp:4269]
UnrealEditor_AssetTools!FAssetRenameManager::PerformAssetRename() [D:\build\++UE5\Sync\Engine\Source\Developer\AssetTools\Private\AssetRenameManager.cpp:1575]
UnrealEditor_AssetTools!FAssetRenameManager::FixReferencesAndRename() [D:\build\++UE5\Sync\Engine\Source\Developer\AssetTools\Private\AssetRenameManager.cpp:486]
UnrealEditor_AssetTools!FAssetRenameManager::RenameAssetsWithDialog() [D:\build\++UE5\Sync\Engine\Source\Developer\AssetTools\Private\AssetRenameManager.cpp:274]
UnrealEditor_ContentBrowserAssetDataSource!ContentBrowserAssetData::RenameAssetFileItem() [D:\build\++UE5\Sync\Engine\Plugins\Editor\ContentBrowser\ContentBrowserAssetDataSource\Source\ContentBrowserAssetDataSource\Private\ContentBrowserAssetDataCore.cpp:781]
UnrealEditor_ContentBrowserAssetDataSource!ContentBrowserAssetData::RenameItem() [D:\build\++UE5\Sync\Engine\Plugins\Editor\ContentBrowser\ContentBrowserAssetDataSource\Source\ContentBrowserAssetDataSource\Private\ContentBrowserAssetDataCore.cpp:745]
UnrealEditor_ContentBrowserAssetDataSource!UContentBrowserAssetDataSource::RenameItem() [D:\build\++UE5\Sync\Engine\Plugins\Editor\ContentBrowser\ContentBrowserAssetDataSource\Source\ContentBrowserAssetDataSource\Private\ContentBrowserAssetDataSource.cpp:1333]
UnrealEditor_ContentBrowserData!FContentBrowserItem::Rename() [D:\build\++UE5\Sync\Engine\Source\Editor\ContentBrowserData\Private\ContentBrowserItem.cpp:501]
UnrealEditor_ContentBrowser!SAssetView::AssetRenameCommit() [D:\build\++UE5\Sync\Engine\Source\Editor\ContentBrowser\Private\SAssetView.cpp:3758]
UnrealEditor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,1,void __cdecl(TSharedPtr<FAssetViewItem,1> const &,FString const &,FSlateRect const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
UnrealEditor_ContentBrowser!SAssetViewItem::HandleNameCommitted() [D:\build\++UE5\Sync\Engine\Source\Editor\ContentBrowser\Private\AssetViewWidgets.cpp:554]
UnrealEditor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetTileItem,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
UnrealEditor_Slate!SInlineEditableTextBlock::OnTextBoxCommitted() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Text\SInlineEditableTextBlock.cpp:331]
UnrealEditor_Slate!TBaseSPMethodDelegateInstance<0,SInlineEditableTextBlock,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
UnrealEditor_Slate!SEditableTextBox::OnEditableTextCommitted() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SEditableTextBox.cpp:491]
UnrealEditor_Slate!TBaseSPMethodDelegateInstance<0,SEditableTextBox,1,void __cdecl(FText const &,enum ETextCommit::Type),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:307]
UnrealEditor_Slate!FSlateEditableTextLayout::HandleCarriageReturn() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Text\SlateEditableTextLayout.cpp:1542]
UnrealEditor_Slate!FSlateEditableTextLayout::HandleKeyDown() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Text\SlateEditableTextLayout.cpp:989]
UnrealEditor_Slate!SEditableText::OnKeyDown() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Widgets\Input\SEditableText.cpp:217]
UnrealEditor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_9dc931af886a2950ba18f18a6edc755e> >() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:410]
UnrealEditor_Slate!FSlateApplication::ProcessKeyDownEvent() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4449]
UnrealEditor_Slate!FSlateApplication::OnKeyDown() [D:\build\++UE5\Sync\Engine\Source\Runtime\Slate\Private\Framework\Application\SlateApplication.cpp:4360]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2045]
UnrealEditor_ApplicationCore!FWindowsApplication::DeferMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:2699]
UnrealEditor_ApplicationCore!FWindowsApplication::ProcessMessage() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:1078]
UnrealEditor_ApplicationCore!FWindowsApplication::AppWndProc() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsApplication.cpp:916]
user32
user32
InkObj
atlthunk
user32
user32
UnrealEditor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [D:\build\++UE5\Sync\Engine\Source\Runtime\ApplicationCore\Private\Windows\WindowsPlatformApplicationMisc.cpp:138]
UnrealEditor!FEngineLoop::Tick() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:5139]
UnrealEditor!GuardedMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Launch.cpp:183]
UnrealEditor!GuardedMainWrapper() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:147]
UnrealEditor!LaunchWindowsStartup() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:283]
UnrealEditor!WinMain() [D:\build\++UE5\Sync\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:330]
UnrealEditor!__scrt_common_main_seh() [d:\a01\_work\6\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
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-173486 in the post.

0
Login to Vote

Won't Fix
ComponentUE - Virtual Production
Affects Versions5.0
Target Fix5.3
CreatedJan 6, 2023
ResolvedAug 3, 2023
UpdatedAug 4, 2023