The USplineComponent appears to be corrupted. It will pass the null check, but operations done on the data cause the engine to crash. (See the linked UDN for more details)

Steps to Reproduce
  1. Create a Niagara system with a spline user parameter
  2. Create a blueprint with a spline component
  3. Add both to a level (This but crashes every time the level opens, so you might want to make a level just for this)
  4. Set the override parameter of the spline data interface to the blueprint with the spline component.
  5. Save the level
  6. Reopen the level.

The engine will crash every time the level is opened.



UE4Editor-Core-Win64-Debug.dll!FMatrix::ErrorEnsure(const wchar_t * Message) Line 8 C++
UE4Editor-Niagara-Win64-Debug.dll!FMatrix::InverseFast() Line 272 C++
> UE4Editor-Niagara-Win64-Debug.dll!UNiagaraDataInterfaceSpline::PerInstanceTick(void * PerInstanceData, FNiagaraSystemInstance * SystemInstance, float DeltaSeconds) Line 384 C++
UE4Editor-Niagara-Win64-Debug.dll!FNiagaraSystemInstance::TickDataInterfaces(float DeltaSeconds, bool bPostSimulate) Line 1033 C++
UE4Editor-Niagara-Win64-Debug.dll!FNiagaraSystemSimulation::Tick(float DeltaSeconds) Line 355 C++
UE4Editor-Niagara-Win64-Debug.dll!FNiagaraWorldManager::Tick(float DeltaSeconds) Line 226 C++
UE4Editor-Niagara-Win64-Debug.dll!INiagaraModule::TickWorld(UWorld * World, ELevelTick TickType, float DeltaSeconds) Line 336 C++
UE4Editor-Niagara-Win64-Debug.dll!TBaseRawMethodDelegateInstance<0,INiagaraModule,TTypeWrapper<void> __cdecl(UWorld *,enum ELevelTick,float)>::Execute(UWorld * <Params_0>, ELevelTick <Params_1>, float <Params_2>) Line 459 C++
UE4Editor-Niagara-Win64-Debug.dll!TBaseRawMethodDelegateInstance<0,INiagaraModule,void __cdecl(UWorld *,enum ELevelTick,float)>::ExecuteIfSafe(UWorld * <Params_0>, ELevelTick <Params_1>, float <Params_2>) Line 518 C++
UE4Editor-Engine-Win64-Debug.dll!TBaseMulticastDelegate<void,UWorld *,enum ELevelTick,float>::Broadcast(UWorld * <Params_0>, ELevelTick <Params_1>, float <Params_2>) Line 977 C++
UE4Editor-Engine-Win64-Debug.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1697 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1437 C++
UE4Editor-UnrealEd-Win64-Debug.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 403 C++
UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 3967 C++
UE4Editor-Win64-Debug.exe!EngineTick() Line 63 C++
UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 171 C++
UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 261 C++

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-71745 in the post.

Login to Vote

ComponentRendering - Niagara
Affects Versions4.224.21e3
Target Fix4.23
Fix Commit5547601
CreatedMar 19, 2019
ResolvedMar 25, 2019
UpdatedJul 11, 2019