Description

Niagara components don't null check their tick functions, and can cause a crash as a result. Compare to UParticleSystemComponent::TickComponent which does. It's fairly common in the engine to pass nullptr in for the tick function as well.

Steps to Reproduce
  1. Download, extract and run attached project (see comments)
  2. PIE

RESULT

The editor crashes

Callstack

Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000020

0x00007ffd9ea4d7c0 UE4Editor-Engine.dll!FTickFunction::IsCompletionHandleValid() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Classes\Engine\EngineBaseTypes.h:311]
0x00007ffd8f997202 UE4Editor-Niagara.dll!UNiagaraComponent::TickComponent() [D:\_Release-4.26\Engine\Plugins\FX\Niagara\Source\Niagara\Private\NiagaraComponent.cpp:649]
0x00007ffd9eb027fa UE4Editor-Engine.dll!AActor::TickActor() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\Actor.cpp:1093]
0x00007ffd9eace8ee UE4Editor-Engine.dll!FActorTickFunction::ExecuteTick() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\Actor.cpp:173]
0x00007ffd9fcb2fe9 UE4Editor-Engine.dll!FTickFunctionTask::DoTask() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:284]
0x00007ffd9fcbbc60 UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask() [D:\_Release-4.26\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:886]
0x00007ffda19ee864 UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread() [D:\_Release-4.26\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:709]
0x00007ffda19eec6e UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit() [D:\_Release-4.26\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:601]
0x00007ffda1a0051e UE4Editor-Core.dll!FTaskGraphImplementation::WaitUntilTasksComplete() [D:\_Release-4.26\Engine\Source\Runtime\Core\Private\Async\TaskGraph.cpp:1525]
0x00007ffd9fcd8efe UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:564]
0x00007ffd9fcdf85a UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp:1578]
0x00007ffd9f3f8acf UE4Editor-Engine.dll!UWorld::RunTickGroup() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:782]
0x00007ffd9f403399 UE4Editor-Engine.dll!UWorld::Tick() [D:\_Release-4.26\Engine\Source\Runtime\Engine\Private\LevelTick.cpp:1457]
0x00007ffd9c601896 UE4Editor-UnrealEd.dll!UEditorEngine::Tick() [D:\_Release-4.26\Engine\Source\Editor\UnrealEd\Private\EditorEngine.cpp:1720]
0x00007ffd9cf3b046 UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick() [D:\_Release-4.26\Engine\Source\Editor\UnrealEd\Private\UnrealEdEngine.cpp:426]
0x00007ff6f38b9bdd UE4Editor.exe!FEngineLoop::Tick() [D:\_Release-4.26\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4836]
0x00007ff6f38d11dc UE4Editor.exe!GuardedMain() [D:\_Release-4.26\Engine\Source\Runtime\Launch\Private\Launch.cpp:169]
0x00007ff6f38d12ba UE4Editor.exe!GuardedMainWrapper() [D:\_Release-4.26\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137]
0x00007ff6f38e528d UE4Editor.exe!WinMain() [D:\_Release-4.26\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:268]
0x00007ff6f38e7faa UE4Editor.exe!__scrt_common_main_seh() [D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffe18877034 KERNEL32.DLL!UnknownFunction []
0x00007ffe19ddd241 ntdll.dll!UnknownFunction []

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Niagara
Affects Versions4.26
Target Fix4.27
Fix Commit15753470
CreatedMar 12, 2021
ResolvedMar 20, 2021
UpdatedNov 30, 2022