Description

Performing a hot reload in the Editor after adding a custom UserDefinedEnum C++ class to a project results in a crash.

A normal compile in Visual Studio will complete successfully.

Steps to Reproduce
  1. Download the attached DemoEnum project.
    • Project created in Main (CL 2768995).
  2. Generate project files for the project.
  3. Build the project in Visual Studio.
  4. Open the project in the Editor.
  5. Add a new Actor code class to the project, or modify some of the project code and start a hot reload.

RESULT:
The Editor crashes with the following error message: Assertion failed: DoubleColonPos != INDEX_NONE [Link Removed] [Line: 73]

EXPECTED:
The hot reload completes successfully.

Callstack

MachineId:926CC4CD4DE75FA30341E2895D619D6E
EpicAccountId:2c96fbce8ce344c99520cc9b8922f191

Assertion failed: DoubleColonPos != INDEX_NONE [Link Removed] [Line: 73]

UE4Editor_Core!FDebug::AssertFailed() [d:\main-builds\stream\engine\source\runtime\core\private\misc\outputdevice.cpp:427]
UE4Editor_CoreUObject!UEnum::GetBaseEnumNameOnDuplication() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\enum.cpp:76]
UE4Editor_CoreUObject!UEnum::RenameNamesAfterDuplication() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\enum.cpp:84]
UE4Editor_CoreUObject!UEnum::Serialize() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\enum.cpp:62]
UE4Editor_Engine!UUserDefinedEnum::Serialize() [d:\main-builds\stream\engine\source\runtime\engine\private\userdefinedenum.cpp:20]
UE4Editor_CoreUObject!StaticDuplicateObjectEx() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1719]
UE4Editor_CoreUObject!StaticDuplicateObject() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1609]
UE4Editor_CoreUObject!UClassGenerateCDODuplicatesForHotReload() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:683]
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:795]
UE4Editor_CoreUObject!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:921]
UE4Editor_Core!TBaseMulticastDelegate<void>::Broadcast() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:906]
UE4Editor_Core!FModuleManager::LoadModuleWithFailureReason() [d:\main-builds\stream\engine\source\runtime\core\private\modules\modulemanager.cpp:427]
UE4Editor_Core!FModuleManager::LoadModule() [d:\main-builds\stream\engine\source\runtime\core\private\modules\modulemanager.cpp:299]
UE4Editor_HotReload!FHotReloadModule::DoHotReloadInternal() [d:\main-builds\stream\engine\source\developer\hotreload\private\hotreload.cpp:776]
UE4Editor_HotReload!FHotReloadModule::DoHotReloadCallback() [d:\main-builds\stream\engine\source\developer\hotreload\private\hotreload.cpp:714]
UE4Editor_HotReload!TBaseRawMethodDelegateInstance<0,FHotReloadModule,TTypeWrapper<void> __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::Execute() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:492]
UE4Editor_HotReload!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::ExecuteIfSafe() [d:\main-builds\stream\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:582]
UE4Editor_HotReload!FHotReloadModule::CheckForFinishedModuleDLLCompile() [d:\main-builds\stream\engine\source\developer\hotreload\private\hotreload.cpp:1702]
UE4Editor_HotReload!FHotReloadModule::Tick() [d:\main-builds\stream\engine\source\developer\hotreload\private\hotreload.cpp:524]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorengine.cpp:962]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\main-builds\stream\engine\source\editor\unrealed\private\unrealedengine.cpp:361]
UE4Editor!FEngineLoop::Tick() [d:\main-builds\stream\engine\source\runtime\launch\private\launchengineloop.cpp:2634]
UE4Editor!GuardedMain() [d:\main-builds\stream\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]

CrashReporter Link: [Link Removed]

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Foundation - Core
Affects Versions4.104.11
Target Fix4.11
Fix Commit2897659
Main Commit2905127
Release Commit2897659
CreatedNov 17, 2015
ResolvedMar 7, 2016
UpdatedFeb 5, 2017