Developer Notes

Potential workaround for this issue as suggested by a licensee: Window -> Load Layout -> Default Editor Layout

Description

We have been unable to get an internal repro so far, however we have had quite a few reports from the community reporting this issue.

One user also stated this happens when migrating a project over from 4.25, however we were still unable to reproduce that.

Error Message:

Assertion failed: IsValid() [File:D:\Build\++UE4\Sync\Engine\Source\Runtime\Core\Public\Templates/SharedPointer.h] [Line: 824] 
Steps to Reproduce
  1. Open the static mesh editor
  2. Click on the Preview Scene tab to bring it to the front
  3. Click on the little yellow arrow in the top left of the Viewport to expand the tab bar
  4. Drag the Viewport tab stack to the right of the Preview Scene tab stack - it should be the same as it was originally just with the left/right sides swapped
  5. Save layout if desired
  6. Close static mesh editor and open it again
Callstack
ntdll!7ff893670000  + 9c034
KERNELBASE!7ff8910e0000  + 1a34e
UE4Editor-Core!ReportCrash(_EXCEPTION_POINTERS *) [WindowsPlatformCrashContext.cpp:1574]
UE4Editor!7ff6d49d0000  + 3b0ff
VCRUNTIME140!7ff876f90000  + e360
ntdll!7ff893670000  + a130f
ntdll!7ff893670000  + 4b5e4
ntdll!7ff893670000  + 4b335
KERNELBASE!7ff8910e0000  + 2d759
UE4Editor-Core!ReportAssert(wchar_t const *,int) [WindowsPlatformCrashContext.cpp:1627]
UE4Editor-Core!FWindowsErrorOutputDevice::Serialize(wchar_t const *,ELogVerbosity::Type,FName const &) [WindowsErrorOutputDevice.cpp:78]
UE4Editor-Core!FOutputDevice::LogfImpl(wchar_t const *,...) [OutputDevice.cpp:61]
UE4Editor-Core!static void AssertFailedImplV(const char *, const char *, int, const wchar_t *, char *) [AssertionMacros.cpp:102]
UE4Editor-Core!FDebug::CheckVerifyFailedImpl(char const *,char const *,int,wchar_t const *,...) [AssertionMacros.cpp:458]
UE4Editor-StaticMeshEditor!FStaticMeshEditor::SpawnTab_PreviewSceneSettings(FSpawnTabArgs const &) [StaticMeshEditor.cpp:537]
UE4Editor-StaticMeshEditor!class TSharedRef<SDockTab,0> TBaseSPMethodDelegateInstance<0,FStaticMeshEditor,0,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const &) [DelegateInstancesImpl.h:290]
UE4Editor-Slate!FTabManager::SpawnTab(FTabId const &,TSharedPtr<SWindow,0> const &,bool) [TabManager.cpp:1708]
UE4Editor-Slate!FTabManager::RestoreArea_Helper(TSharedRef<FTabManager::FLayoutNode,0> const &,TSharedPtr<SWindow,0> const &,bool,EOutputCanBeNullptr) [TabManager.cpp:1445]
UE4Editor-Slate!FTabManager::RestoreSplitterContent(TSharedRef<FTabManager::FSplitter,0> const &,TSharedRef<SDockingSplitter,0> const &,TSharedPtr<SWindow,0> const &) [TabManager.cpp:1637]
UE4Editor-Slate!FTabManager::RestoreArea_Helper(TSharedRef<FTabManager::FLayoutNode,0> const &,TSharedPtr<SWindow,0> const &,bool,EOutputCanBeNullptr) [TabManager.cpp:1576]
UE4Editor-Slate!FTabManager::RestoreSplitterContent(TSharedRef<FTabManager::FSplitter,0> const &,TSharedRef<SDockingSplitter,0> const &,TSharedPtr<SWindow,0> const &) [TabManager.cpp:1637]
UE4Editor-Slate!FTabManager::RestoreArea_Helper(TSharedRef<FTabManager::FLayoutNode,0> const &,TSharedPtr<SWindow,0> const &,bool,EOutputCanBeNullptr) [TabManager.cpp:1555]
UE4Editor-Slate!FTabManager::RestoreArea(TSharedRef<FTabManager::FArea,0> const &,TSharedPtr<SWindow,0> const &,bool,EOutputCanBeNullptr) [TabManager.cpp:1382]
UE4Editor-Slate!FTabManager::RestoreFrom(TSharedRef<FTabManager::FLayout,0> const &,TSharedPtr<SWindow,0> const &,bool,EOutputCanBeNullptr) [TabManager.cpp:865]
UE4Editor-UnrealEd!SStandaloneAssetEditorToolkitHost::RestoreFromLayout(TSharedRef<FTabManager::FLayout,0> const &) [SStandaloneAssetEditorToolkitHost.cpp:135]
UE4Editor-UnrealEd!SStandaloneAssetEditorToolkitHost::SetupInitialContent(TSharedRef<FTabManager::FLayout,0> const &,TSharedPtr<SDockTab,0> const &,bool) [SStandaloneAssetEditorToolkitHost.cpp:62]
UE4Editor-UnrealEd!FAssetEditorToolkit::InitAssetEditor(EToolkitMode::Type,TSharedPtr<IToolkitHost,0> const &,FName,TSharedRef<FTabManager::FLayout,0> const &,bool,bool,TArray<UObject *,TSizedDefaultAllocator<32> > const &,bool,bool) [AssetEditorToolkit.cpp:271]
UE4Editor-UnrealEd!FAssetEditorToolkit::InitAssetEditor(EToolkitMode::Type,TSharedPtr<IToolkitHost,0> const &,FName,TSharedRef<FTabManager::FLayout,0> const &,bool,bool,UObject *,bool,bool) [AssetEditorToolkit.cpp:60]
UE4Editor-StaticMeshEditor!FStaticMeshEditor::InitStaticMeshEditor(EToolkitMode::Type,TSharedPtr<IToolkitHost,0> const &,UStaticMesh *) [StaticMeshEditor.cpp:267]
UE4Editor-StaticMeshEditor!FStaticMeshEditorModule::CreateStaticMeshEditor(EToolkitMode::Type,TSharedPtr<IToolkitHost,0> const &,UStaticMesh *) [StaticMeshEditorModule.cpp:51]
UE4Editor-AssetTools!FAssetTypeActions_StaticMesh::OpenAssetEditor(TArray<UObject *,TSizedDefaultAllocator<32> > const &,TSharedPtr<IToolkitHost,0>) [AssetTypeActions_StaticMesh.cpp:75]
UE4Editor-UnrealEd!UAssetEditorSubsystem::OpenEditorForAsset(UObject *,EToolkitMode::Type,TSharedPtr<IToolkitHost,0>,bool) [AssetEditorSubsystem.cpp:363]
UE4Editor-UnrealEd!UAssetEditorSubsystem::OpenEditorForAssets_Advanced(TArray<UObject *,TSizedDefaultAllocator<32> > const &,EToolkitMode::Type,TSharedPtr<IToolkitHost,0>) [AssetEditorSubsystem.cpp:437]
UE4Editor-UnrealEd!UAssetEditorSubsystem::OpenEditorForAssets(TArray<UObject *,TSizedDefaultAllocator<32> > const &) [AssetEditorSubsystem.cpp:553]
UE4Editor-ContentBrowserAssetDataSource!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,0> const ,int>,bool) [ContentBrowserAssetDataCore.cpp:287]
UE4Editor-ContentBrowserAssetDataSource!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools *,UContentBrowserDataSource const *,TArrayView<FContentBrowserItemData const ,int>,bool) [ContentBrowserAssetDataCore.cpp:307]
UE4Editor-ContentBrowserAssetDataSource!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int>) [ContentBrowserAssetDataSource.cpp:932]
UE4Editor-ContentBrowser!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int>,EAssetTypeActivationMethod::Type) [SContentBrowser.cpp:2238]
UE4Editor-ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void ,FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>,EAssetTypeActivationMethod::Type) [DelegateInstancesImpl.h:290]
UE4Editor-ContentBrowser!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,0>) [SAssetView.cpp:3446]
UE4Editor-ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void ,FDefaultDelegateUserPolicy>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,0>) [DelegateInstancesImpl.h:307]
UE4Editor-ContentBrowser!TDelegate<void ,FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,0>) [DelegateSignatureImpl.inl:599]
UE4Editor-ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,0>) [SListView.h:1074]
UE4Editor-ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick(FGeometry const &,FPointerEvent const &) [STableRow.h:458]
UE4Editor-Slate!static class FReply FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_2b5148752c2a272000c47b69ff14a42e> >(class FSlateApplication *, class FEventRouter::FBubblePolicy, struct FPointerEvent, const class FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_2b5148752c2a272000c47b69ff14a42e> & const, ESlateDebuggingInputEvent) [SlateApplication.cpp:378]
UE4Editor-Slate!FSlateApplication::RoutePointerDoubleClickEvent(FWidgetPath const &,FPointerEvent const &) [SlateApplication.cpp:5281]
UE4Editor-Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent(TSharedPtr<FGenericWindow,0> const &,FPointerEvent const &) [SlateApplication.cpp:5268]
UE4Editor-Slate!FSlateApplication::OnMouseDoubleClick(TSharedPtr<FGenericWindow,0> const &,EMouseButtons::Type,FVector2D) [SlateApplication.cpp:5231]
UE4Editor-ApplicationCore!FWindowsApplication::ProcessDeferredMessage(FDeferredWindowsMessage const &) [WindowsApplication.cpp:2178]
UE4Editor-ApplicationCore!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> &,HWND__ *,unsigned int,unsigned _int64,_int64,int,int,unsigned int) [WindowsApplication.cpp:2638]
UE4Editor-ApplicationCore!FWindowsApplication::ProcessMessage(HWND__ *,unsigned int,unsigned _int64,_int64) [WindowsApplication.cpp:1042]
UE4Editor-ApplicationCore!FWindowsApplication::AppWndProc(HWND__ *,unsigned int,unsigned _int64,_int64) [WindowsApplication.cpp:874]
USER32!7ff892440000  + e858
USER32!7ff892440000  + e4ee
InkObj!7ff80c180000  + e7e19
atlthunk!7ff88a090000  + 1028
USER32!7ff892440000  + e858
USER32!7ff892440000  + e299
UE4Editor-ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages(bool) [WindowsPlatformApplicationMisc.cpp:130]
UE4Editor!7ff6d49d0000  + 87e7
UE4Editor!7ff6d49d0000  + 2113c
UE4Editor!7ff6d49d0000  + 2121a

 

Have Comments or More Details?

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

8
Login to Vote

Fixed
ComponentTools
Affects Versions4.264.26.1
Target Fix4.27
Fix Commit15217988
Main Commit15217988
CreatedJan 26, 2021
ResolvedJan 27, 2021
UpdatedApr 27, 2022