check(Type == ENativeClassHierarchyNodeType::Folder) assertion failed

When I created new C++ asset I got an assertion suddenly and unreproducible:

void FNativeClassHierarchyNode::AddChild(TSharedRef<FNativeClassHierarchyNode> ChildEntry)
{
	check(Type == ENativeClassHierarchyNodeType::Folder);
	Children.Add(ChildEntry->EntryName, MoveTemp(ChildEntry));
}

UE4Editor-ContentBrowser.dll!FNativeClassHierarchyNode::AddChild(TSharedRef<FNativeClassHierarchyNode,0> ChildEntry)Строка 36 C++
UE4Editor-ContentBrowser.dll!FNativeClassHierarchy::AddClass(UClass * InClass, const TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator> & InGameModules, const TMap<FName,FName,FDefaultSetAllocator,TDefaultMapKeyFuncs<FName,FName,0> > & InPluginModules, FNativeClassHierarchy::FAddClassMetrics & AddClassMetrics)Строка 305 C++
UE4Editor-ContentBrowser.dll!FNativeClassHierarchy::AddClassesForModule(const FName & InModuleName)Строка 214 C++
UE4Editor-ContentBrowser.dll!TBaseRawMethodDelegateInstance<0,FNativeClassHierarchy,void __cdecl(FName,enum EModuleChangeReason)>::ExecuteIfSafe(FName <Params_0>, EModuleChangeReason <Params_1>)Строка 642 C++
UE4Editor-Core.dll!TBaseMulticastDelegate<void,FName,enum EModuleChangeReason>::Broadcast(FName <Params_0>, EModuleChangeReason <Params_1>)Строка 921 C++
UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason(const FName InModuleName, EModuleLoadResult & OutFailureReason, const bool bWasReloaded)Строка 483 C++
UE4Editor-Core.dll!FModuleManager::LoadModule(const FName InModuleName, const bool bWasReloaded)Строка 322 C++
UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal(const TArrayFHotReloadModule::FRecompiledModule,FDefaultAllocator & ChangedModules, const TArray<UPackage ,FDefaultAllocator> & Packages, const TArray<FName,FDefaultAllocator> & InDependentModules, FOutputDevice & HotReloadAr)Строка 770 C++
UE4Editor-HotReload.dll!UE4Function_Private::TFunctionRefCaller<void <лямбда>(const TArrayFHotReloadModule::FRecompiledModule,FDefaultAllocator &, bool, ECompilationResult::Type),void __cdecl(TArrayFHotReloadModule::FRecompiledModule,FDefaultAllocator const & __ptr64,bool,enum ECompilationResult::Type)>::Call(void * Obj, const TArrayFHotReloadModule::FRecompiledModule,FDefaultAllocator & <Params_0>, bool & <Params_1>, ECompilationResult::Type & <Params_2>)Строка 308 C++
UE4Editor-HotReload.dll!FHotReloadModule::CheckForFinishedModuleDLLCompile(const bool bWaitForCompletion, bool & bCompileStillInProgress, bool & bCompileSucceeded, FOutputDevice & Ar, bool bFireEvents)Строка 1817 C++
UE4Editor-HotReload.dll!FHotReloadModule::RecompileModulesAsync(const TArray<FName,FDefaultAllocator> ModuleNames, TFunction<void __cdecl(TArrayFHotReloadModule::FRecompiledModule,FDefaultAllocator const &,bool,enum ECompilationResult::Type)> && InRecompileModulesCallback, const bool bWaitForCompletion, FOutputDevice & Ar)Строка 1452 C++
UE4Editor-HotReload.dll!FHotReloadModule::RebindPackagesInternal(TArray<UPackage ,FDefaultAllocator> && InPackages, TArray<FName,FDefaultAllocator> && DependentModules, const bool bWaitForCompletion, FOutputDevice & Ar)Строка 1096 C++
UE4Editor-HotReload.dll!FHotReloadModule::RebindPackages(TArray<UPackage ,FDefaultAllocator> InPackages, TArray<FName,FDefaultAllocator> DependentModules, const bool bWaitForCompletion, FOutputDevice & Ar)Строка 1040 C++
UE4Editor-GameProjectGeneration.dll!GameProjectUtils::AddCodeToProject_Internal(const FString & NewClassName, const FString & NewClassPath, const FModuleContextInfo & ModuleInfo, const FNewClassInfo ParentClassInfo, const TSet<FString,DefaultKeyFuncs<FString,0>,FDefaultSetAllocator> & DisallowedHeaderNames, FString & OutHeaderFilePath, FString & OutCppFilePath, FText & OutFailReason)Строка 3390 C++
UE4Editor-GameProjectGeneration.dll!GameProjectUtils::AddCodeToProject(const FString & NewClassName, const FString & NewClassPath, const FModuleContextInfo & ModuleInfo, const FNewClassInfo ParentClassInfo, const TSet<FString,DefaultKeyFuncs<FString,0>,FDefaultSetAllocator> & DisallowedHeaderNames, FString & OutHeaderFilePath, FString & OutCppFilePath, FText & OutFailReason)Строка 1029 C++
UE4Editor-GameProjectGeneration.dll!SNewClassDialog::FinishClicked()Строка 1171 C++
UE4Editor-GameProjectGeneration.dll!TBaseSPMethodDelegateInstance<0,SNewClassDialog,0,TTypeWrapper __cdecl(void)>::Execute()Строка 321 C++
UE4Editor-GameProjectGeneration.dll!TBaseSPMethodDelegateInstance<0,SNewClassDialog,0,void __cdecl(void)>::ExecuteIfSafe()Строка 427 C++
UE4Editor-AppFramework.dll!SWizard::HandleFinishButtonClicked()Строка 281 C++
UE4Editor-AppFramework.dll!TMemberFunctionCaller<SWizard,FReply (__cdecl SWizard::
)(void) __ptr64>::operator()<>()Строка 161 C++
UE4Editor-AppFramework.dll!TTupleImpl<TIntegerSequence >::ApplyAfter_ExplicitReturnType<FReply,TMemberFunctionCaller<SWizard,FReply (__cdecl SWizard::
)(void) __ptr64> >(TMemberFunctionCaller<SWizard,FReply (__cdecl SWizard::
)(void)> && Func)Строка 128 C++
UE4Editor-AppFramework.dll!TBaseSPMethodDelegateInstance<0,SWizard,0,FReply __cdecl(void)>::Execute()Строка 321 C++
UE4Editor-Slate.dll!TBaseDelegate::Execute()Строка 521 C++
UE4Editor-Slate.dll!SButton::OnMouseButtonUp(const FGeometry & MyGeometry, const FPointerEvent & MouseEvent)Строка 275 C++
UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent::__l8::<лямбда>(const FArrangedWidget & TargetWidget, const FPointerEvent & Event)Строка 4598 C++
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,FReply <лямбда>(const FArrangedWidget &, const FPointerEvent &) >(FSlateApplication * ThisApplication, FEventRouter::FToLeafmostPolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerUpEvent::l8::FReply <лямбда>(const FArrangedWidget &, const FPointerEvent &) & Lambda)Строка 215 C++
UE4Editor-Slate.dll!FSlateApplication::RoutePointerUpEvent(FWidgetPath & WidgetsUnderPointer, FPointerEvent & PointerEvent)Строка 4587 C++
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent & MouseEvent)Строка 5041 C++
UE4Editor-Slate.dll!FSlateApplication::OnMouseUp(const EMouseButtons::Type Button, const FVector2D CursorPos)Строка 5021 C++
UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage)Строка 1507 C++
UE4Editor-Core.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> & NativeWindow, HWND
* InHWnd, unsigned int InMessage, unsigned int64 InWParam, int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags)Строка 1847 C++
UE4Editor-Core.dll!FWindowsApplication::ProcessMessage(HWND
* hwnd, unsigned int msg, unsigned int64 wParam, int64 lParam)Строка 742 C++
UE4Editor-Core.dll!FWindowsApplication::AppWndProc(HWND
* hwnd, unsigned int msg, unsigned int64 wParam, int64 lParam)Строка 664 C++
[Внешний код]
UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages(bool bFromMainLoop)Строка 903 C++
UE4Editor.exe!FEngineLoop::Tick()Строка 2729 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE
* hInInstance, HINSTANCE
* hPrevInstance, int nCmdShow)Строка 148 C++
UE4Editor.exe!WinMain(HINSTANCE
* hInInstance, HINSTANCE
* hPrevInstance, char * __formal, int nCmdShow)Строка 189 C++
[Внешний код]

Locals:

  • this	0x000000ee3671af20 {Type=Class (1 '\x1') Class=0x000000ee261fce00
    

(Name=0x000000ee022b04f8 “Turret”)
…} FNativeClassHierarchyNode *

  • ChildEntry	Ptr=0x000000ee3671afc0, SharedRefs=1, WeakRefs=1,
    

Object={Type=Class (1 ‘\x1’)
Class=0x000000ee4eeb6e80
(Name=0x000000ee1f8dfe70 “Turret_AI”)
ClassModuleName=…} TSharedRef<FNativeClassHierarchyNode,0>

Sounds like this?

Exactly! Thank you!