Description

Adding a module which has Required Dependencies (such as "Add Velocity") to event handler stage causes ensureMsg.

> > In system /Game/NewNiagaraSystem.NewNiagaraSystem, module AddVelocity (NiagaraNodeFunctionCall_4) did not exist in the stack module data.

 

Steps to Reproduce

ensureMsg causes break on Visual Studio but does not cause software crash. So this repro step to require running Unreal Editor from Visual Studio.

  1. Create a new Niagara asset with an emitter (such as Fountain) and open it.
  2. Click "+ Stage" on the emitter node.
  3. Click + on Emitter Handler stage and select "Add Velocity"
  4. Confirm ensureMsg hit at NiagaraStackModuleItem.cpp Line 761

You can download the repro project from the UDN post and open NewNiagaraSystem from the project. ensureMsg causes break at opening the asset.

Callstack

>    [Inline Frame] UnrealEditor-NiagaraEditor.dll!NiagaraStackModuleItemIssues::GenerateDependencyIssues::__l6::<lambda_3>::operator()() Line 761    C++
     UnrealEditor-NiagaraEditor.dll!NiagaraStackModuleItemIssues::GenerateDependencyIssues(TSharedRef<FNiagaraSystemViewModel,1> SourceSystemViewModel, FGuid SourceEmitterHandleId, UNiagaraScript & SourceScript, UNiagaraNodeFunctionCall & SourceModuleNode, FString SourceStackEditorDataKey, const UNiagaraNodeOutput & SourceOutputNode, const TArray<FNiagaraStackModuleData,TSizedDefaultAllocator<32>> & SourceStackModuleData, TArray<UNiagaraStackEntry::FStackIssue,TSizedDefaultAllocator<32>> & NewIssues) Line 761    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackModuleItem::RefreshIssues(TArray<UNiagaraStackEntry::FStackIssue,TSizedDefaultAllocator<32>> & NewIssues) Line 1055    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackModuleItem::RefreshChildrenInternal(const TArray<UNiagaraStackEntry *,TSizedDefaultAllocator<32>> & CurrentChildren, TArray<UNiagaraStackEntry *,TSizedDefaultAllocator<32>> & NewChildren, TArray<UNiagaraStackEntry::FStackIssue,TSizedDefaultAllocator<32>> & NewIssues) Line 220    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackEntry::RefreshChildren() Line 747    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackEntry::RefreshChildren() Line 763    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackEntry::RefreshChildren() Line 763    C++
     UnrealEditor-NiagaraEditor.dll!UNiagaraStackViewModel::InitializeWithViewModels(TSharedPtr<FNiagaraSystemViewModel,1> InSystemViewModel, TSharedPtr<FNiagaraEmitterHandleViewModel,1> InEmitterHandleViewModel, FNiagaraStackViewModelOptions InOptions) Line 147    C++
     UnrealEditor-NiagaraEditor.dll!FNiagaraEmitterHandleViewModel::Initialize(TSharedRef<FNiagaraSystemViewModel,1> InOwningSystemViewModel, int InEmitterHandleIndex, TWeakPtr<FNiagaraEmitterInstance,1> InSimulation) Line 114    C++
     UnrealEditor-NiagaraEditor.dll!FNiagaraSystemViewModel::RefreshEmitterHandleViewModels() Line 2067    C++
     UnrealEditor-NiagaraEditor.dll!FNiagaraSystemViewModel::RefreshAll() Line 1806    C++
     UnrealEditor-NiagaraEditor.dll!FNiagaraSystemViewModel::Initialize(UNiagaraSystem & InSystem, FNiagaraSystemViewModelOptions InOptions) Line 197    C++
     UnrealEditor-NiagaraEditor.dll!FNiagaraSystemToolkit::InitializeWithSystem(const EToolkitMode::Type Mode, const TSharedPtr<IToolkitHost,1> & InitToolkitHost, UNiagaraSystem & InSystem) Line 149    C++
     UnrealEditor-NiagaraEditor.dll!UAssetDefinition_NiagaraSystem::OpenAssets(const FAssetOpenArgs & OpenArgs) Line 18    C++
     UnrealEditor-AssetTools.dll!FAssetDefinitionProxy::OpenAssetEditor(const TArray<UObject *,TSizedDefaultAllocator<32>> & InObjects, const EAssetTypeActivationOpenedMethod OpenedMethod, TSharedPtr<IToolkitHost,1> EditWithinLevelEditor) Line 244    C++
     UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAsset(UObject * Asset, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,1> OpenedFromLevelEditor, const bool bShowProgressWindow, EAssetTypeActivationOpenedMethod OpenedMethod) Line 579    C++
     UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAssets_Advanced(const TArray<UObject *,TSizedDefaultAllocator<32>> & InAssets, const EToolkitMode::Type ToolkitMode, TSharedPtr<IToolkitHost,1> OpenedFromLevelEditor, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 645    C++
     UnrealEditor-UnrealEd.dll!UAssetEditorSubsystem::OpenEditorForAssets(const TArray<UObject *,TSizedDefaultAllocator<32>> & Assets, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 761    C++
     UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,1> const ,int> InAssetPayloads, EAssetTypeActivationMethod::Type ActivationMethod, const EAssetTypeActivationOpenedMethod OpenedMethod) Line 372    C++
     UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools * InAssetTools, const UContentBrowserDataSource * InOwnerDataSource, TArrayView<FContentBrowserItemData const ,int> InItems, EAssetTypeActivationMethod::Type ActivationMethod, EAssetTypeActivationOpenedMethod OpenedMethod) Line 417    C++
     [Inline Frame] UnrealEditor-ContentBrowserAssetDataSource.dll!ContentBrowserAssetData::EditItems(IAssetTools *) Line 424    C++
     UnrealEditor-ContentBrowserAssetDataSource.dll!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int> InItems) Line 2200    C++
     UnrealEditor-ContentBrowser.dll!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int> ActivatedItems, EAssetTypeActivationMethod::Type ActivationMethod) Line 3141    C++
     [Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type)) Line 66    C++
     [Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type) &) Line 311    C++
     UnrealEditor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SContentBrowser,1,void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int> <Params_0>, EAssetTypeActivationMethod::Type <Params_1>) Line 281    C++
     [Inline Frame] UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>) Line 549    C++
     UnrealEditor-ContentBrowser.dll!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,1> AssetItem) Line 4081    C++
     [Inline Frame] UnrealEditor-ContentBrowser.dll!Invoke(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>)) Line 66    C++
     [Inline Frame] UnrealEditor-ContentBrowser.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(SAssetView::*)(TSharedPtr<FAssetViewItem,1>) &) Line 311    C++
     UnrealEditor-ContentBrowser.dll!TBaseSPMethodDelegateInstance<0,SAssetView,1,void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 298    C++
     UnrealEditor-ContentBrowser.dll!TDelegate<void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,1> <Params_0>) Line 570    C++
     UnrealEditor-ContentBrowser.dll!SListView<TSharedPtr<FAssetViewItem,1>>::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,1> TheItem) Line 1122    C++
     UnrealEditor-ContentBrowser.dll!STableRow<TSharedPtr<FAssetViewItem,1>>::OnMouseButtonDoubleClick(const FGeometry & InMyGeometry, const FPointerEvent & InMouseEvent) Line 423    C++
     [Inline Frame] UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &) Line 5702    C++
     UnrealEditor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerDoubleClickEvent'::`2'::<lambda_1>>(FSlateApplication * ThisApplication, FEventRouter::FBubblePolicy RoutingPolicy, FPointerEvent EventCopy, const FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1> & Lambda, ESlateDebuggingInputEvent DebuggingInputEvent) Line 442    C++
     UnrealEditor-Slate.dll!FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath & WidgetsUnderPointer, const FPointerEvent & PointerEvent) Line 5700    C++
     UnrealEditor-Slate.dll!FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const FPointerEvent & InMouseEvent) Line 5685    C++
     UnrealEditor-Slate.dll!FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,1> & PlatformWindow, const EMouseButtons::Type Button, const UE::Math::TVector2<double> CursorPos) Line 5648    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage & DeferredMessage) Line 2235    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> & NativeWindow, HWND__ * InHWnd, unsigned int InMessage, unsigned __int64 InWParam, __int64 InLParam, int MouseX, int MouseY, unsigned int RawInputFlags) Line 2738    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::ProcessMessage(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 1099    C++
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WindowsApplication_WndProc(HWND__ *) Line 931    C++
     UnrealEditor-ApplicationCore.dll!FWindowsApplication::AppWndProc(HWND__ * hwnd, unsigned int msg, unsigned __int64 wParam, __int64 lParam) Line 937    C++
     [External Code]    
     [Inline Frame] UnrealEditor-ApplicationCore.dll!WinPumpMessages() Line 119    C++
     UnrealEditor-ApplicationCore.dll!FWindowsPlatformApplicationMisc::PumpMessages(bool bFromMainLoop) Line 148    C++
     UnrealEditor-Win64-DebugGame.exe!FEngineLoop::Tick() Line 5749    C++
     [Inline Frame] UnrealEditor-Win64-DebugGame.exe!EngineTick() Line 61    C++
     UnrealEditor-Win64-DebugGame.exe!GuardedMain(const wchar_t * CmdLine) Line 188    C++
     UnrealEditor-Win64-DebugGame.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247    C++
     UnrealEditor-Win64-DebugGame.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298    C++
     [External Code]    

Have Comments or More Details?

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

0
Login to Vote

Backlogged
ComponentUE - Niagara - Scripting
Affects Versions5.3.2
Target Fix5.5
CreatedDec 19, 2023
UpdatedMar 25, 2024