After creating a Scene Component code class and an Actor code class, creating a reference to the SceneComponent in the Actor class constructor will cause a crash on hot reload in the editor.
1. Open UE4 Editor (any new project)
2. Add code to project based on SceneComponent (MySceneComponent)
3. Add code to project based on Actor (MyActor)
4. In MyActor.h make the following changes:
a. add include for MySceneComponent.h
b. add UPROPERTY() UMySceneComponent* SceneRef;
c. add "const FObjectInitializer& ObjInit" to constructor declaration
6. In MyActor.cpp make the following changes:
a. add "const FObjectInitializer& ObjInit): Super(ObjInit)" to constructor definition
b. add "SceneRef= ObjInit.CreateDefaultSubobject<UMySceneComponent>(this, "SceneRef");" inside constructor
7. Hit compile button in the editor
8. In MyScene.h add ShortTooltip = "crash" inside the meta=() section of UCLASS()
9. Hit compile button in the editor
Fatal error: [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.7\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 1639] Object is not packaged: None None KERNELBASE.dll!UnknownFunction (0x000007fefd73940d) + 0 bytes [UnknownFile:0] UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x000007fedb4b8004) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95] UE4Editor-Core.dll!FMsg::Logf__VA() (0x000007fedb3376df) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:526] UE4Editor-CoreUObject.dll!StaticAllocateObjectErrorTests() (0x000007fedc40d52d) + 179 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1639] UE4Editor-CoreUObject.dll!StaticAllocateObject() (0x000007fedc40c5a5) + 40 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1688] UE4Editor-CoreUObject.dll!UClass::CreateDefaultObject() (0x000007fedc2acbdf) + 55 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\class.cpp:2502] UE4Editor-CoreUObject.dll!FObjectInitializer::CreateDefaultSubobject() (0x000007fedc3f3cf9) + 22 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2644] UE4Editor-HotReloadCrash-1268.dll!AMyActor::AMyActor() (0x000007fec7c03c75) + 114 bytes [c:\users\doug.wilson\documents\unreal projects\hotreloadcrash\source\hotreloadcrash\myactor.cpp:12] UE4Editor-CoreUObject.dll!StaticConstructObject() (0x000007fedc40dd04) + 122 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:2232] UE4Editor-CoreUObject.dll!UClass::HotReloadPrivateStaticClass() (0x000007fedc2ced4d) + 59 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\class.cpp:3368] UE4Editor-HotReloadCrash-1268.dll!GetPrivateStaticClassBody<AMyActor>() (0x000007fec7c046dc) + 86 bytes [d:\epic games\4.7\engine\source\runtime\coreuobject\public\uobject\class.h:2279] UE4Editor-HotReloadCrash-1268.dll!TClassCompiledInDefer<AMyActor>::Register() (0x000007fec7c04f41) + 45 bytes [d:\epic games\4.7\engine\source\runtime\coreuobject\public\uobject\uobjectbase.h:295] UE4Editor-CoreUObject.dll!UClassRegisterAllCompiledInClasses() (0x000007fedc4120d0) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:690] UE4Editor-CoreUObject.dll!ProcessNewlyLoadedUObjects() (0x000007fedc40433b) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:808] UE4Editor-CoreUObject.dll!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() (0x000007fedc2b3c97) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:921] UE4Editor-Core.dll!TBaseMulticastDelegate<void>::Broadcast() (0x000007fedb216fb5) + 11 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegatesignatureimpl_variadics.inl:1030] UE4Editor-Core.dll!FModuleManager::LoadModuleWithFailureReason() (0x000007fedb3c31a2) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\modules\modulemanager.cpp:359] UE4Editor-Core.dll!FModuleManager::LoadModule() (0x000007fedb3c2798) + 50 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\modules\modulemanager.cpp:238] UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadInternal() (0x000007fecc2249f8) + 44 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\hotreload\private\hotreload.cpp:654] UE4Editor-HotReload.dll!FHotReloadModule::DoHotReloadCallback() (0x000007fecc223c6d) + 77 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\hotreload\private\hotreload.cpp:620] UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,TTypeWrapper<void> __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::Execute() (0x000007fecc226547) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:492] UE4Editor-HotReload.dll!TBaseRawMethodDelegateInstance<0,FHotReloadModule,void __cdecl(bool,enum ECompilationResult::Type),TArray<UPackage * __ptr64,FDefaultAllocator>,TArray<FName,FDefaultAllocator>,FOutputDevice & __ptr64>::ExecuteIfSafe() (0x000007fecc2266b9) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:582] UE4Editor-HotReload.dll!FHotReloadModule::CheckForFinishedModuleDLLCompile() (0x000007fecc222848) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\hotreload\private\hotreload.cpp:1473] UE4Editor-HotReload.dll!FHotReloadModule::Tick() (0x000007fecc232bda) + 32 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\developer\hotreload\private\hotreload.cpp:433] UE4Editor-UnrealEd.dll!UEditorEngine::Tick() (0x000007fecfa6d1be) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\editor.cpp:946] UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() (0x000007fecff28196) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\unrealed\private\unrealedengine.cpp:347] UE4Editor.exe!FEngineLoop::Tick() (0x000000013f760263) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launchengineloop.cpp:2257] UE4Editor.exe!GuardedMain() (0x000000013f75267c) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:142] UE4Editor.exe!GuardedMainWrapper() (0x000000013f7526ea) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126] UE4Editor.exe!WinMain() (0x000000013f762219) + 17 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202] UE4Editor.exe!__tmainCRTStartup() (0x000000013f763159) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] kernel32.dll!UnknownFunction (0x00000000776859ed) + 0 bytes [UnknownFile:0] ntdll.dll!UnknownFunction (0x00000000778bc541) + 0 bytes [UnknownFile:0] ntdll.dll!UnknownFunction (0x00000000778bc541) + 0 bytes [UnknownFile:0]
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.7 |
Target Fix | 4.8 |
Created | Feb 19, 2015 |
---|---|
Resolved | Mar 2, 2015 |
Updated | Feb 5, 2017 |