Description

Crash When Trying to Find a Blueprint Class with Niagara Particles

Found in 4.20 CL# 4369336, 4.21 CL# 4753647, 4.22 CL# 6574378, 4.23 CL# 6599617

Steps to Reproduce
  1. Create a Blank Code Project
  2. Create a Niagara Emitter and System based off the fountain sample
  3. Create a new Actor and add the Niagara system component set to the created system
  4. Create a new C++ Actor Class “MyActor”
  5. Call the following static  ConstructorHelpers function  to Actor’s Constructor:
    static ConstructorHelpers::FClassFinder<AActor>MyBlueprint(TEXT("/Game/NewBlueprint"));
  6. Build Project & ensure Hot Reload
  7. Create blueprint instance of “MyActor”
  8. Drag into editor world space and press PIE

Results:
Crash as soon as you press PIE

Expected:
No Crash would occur

Callstack
Unhandled exception

UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1019]
UE4Editor_Niagara!UNiagaraEmitter::PostLoad() [d:\build\++ue4\sync\engine\plugins\fx\niagara\source\niagara\private\niagaraemitter.cpp:191]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1052]
UE4Editor_Niagara!UNiagaraSystem::PostLoad() [d:\build\++ue4\sync\engine\plugins\fx\niagara\source\niagara\private\niagarasystem.cpp:226]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1052]
UE4Editor_Niagara!UNiagaraComponent::PostLoad() [d:\build\++ue4\sync\engine\plugins\fx\niagara\source\niagara\private\niagaracomponent.cpp:1029]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1052]
UE4Editor_CoreUObject!EndLoad() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1576]
UE4Editor_CoreUObject!<lambda_65751f9097c65f5ba82c6d72f714af4e>::operator()() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1215]
UE4Editor_CoreUObject!LoadPackageInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1316]
UE4Editor_CoreUObject!LoadPackage() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1411]
UE4Editor_CoreUObject!ResolveName() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:751]
UE4Editor_CoreUObject!StaticLoadObjectInternal() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:813]
UE4Editor_CoreUObject!StaticLoadObject() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:888]
UE4Editor_CoreUObject!StaticLoadClass() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:921]
UE4Editor_MyProject!ConstructorHelpersInternal::FindOrLoadClass() [d:\epicgames\ue_4.22\engine\source\runtime\coreuobject\public\uobject\constructorhelpers.h:87]
UE4Editor_MyProject!AMyActor::AMyActor() [c:\users\jeremy.strain\documents\unreal projects\myproject\source\myproject\myactor.cpp:12]
UE4Editor_CoreUObject!UClass::CreateDefaultObject() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\class.cpp:3076]
UE4Editor_CoreUObject!UObjectLoadAllCompiledInDefaultProperties() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:793]
UE4Editor_CoreUObject!ProcessNewlyLoadedUObjects() [d:\build\++ue4\sync\engine\source\runtime\coreuobject\private\uobject\uobjectbase.cpp:869]
UE4Editor_CoreUObject!TBaseStaticDelegateInstance<void __cdecl(void)>::ExecuteIfSafe() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:813]
UE4Editor_Core!TBaseMulticastDelegate<void>::Broadcast() [d:\build\++ue4\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:977]
UE4Editor_Core!FModuleManager::LoadModuleWithFailureReason() [d:\build\++ue4\sync\engine\source\runtime\core\private\modules\modulemanager.cpp:530]
UE4Editor_Projects!FModuleDescriptor::LoadModulesForPhase() [d:\build\++ue4\sync\engine\source\runtime\projects\private\moduledescriptor.cpp:596]
UE4Editor_Projects!FProjectManager::LoadModulesForProject() [d:\build\++ue4\sync\engine\source\runtime\projects\private\projectmanager.cpp:63]
UE4Editor!FEngineLoop::LoadStartupModules() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:3135]
UE4Editor!FEngineLoop::PreInit() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2536]
UE4Editor!GuardedMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\launch.cpp:129]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build\++ue4\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\3\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-74988 in the post.

27
Login to Vote

Won't Fix
ComponentUE - Niagara
Affects Versions4.204.214.224.23
CreatedMay 22, 2019
ResolvedAug 27, 2021
UpdatedAug 27, 2021