Description

Opening a module with references to a disabled plugin can crash the editor. 

Steps to Reproduce
  1. Enable the Chaos Niagara plugin
  2. Create a new Niagara system with a single emitter containing a Particle Spawn Script
  3. Add an Apply Chaos Data module to the Particle Spawn script. (You may need to select "Show All" when searching for the mod)
  4. Make the module the first module in Particle Spawn
  5. Save the system
  6. Disable the Chaos Niagara plugin
  7. Restart the Editor
  8. Open the System you created in 2.

RESULT

The editor crashes

Callstack

[Inlined] FObjectPtr::operator=(UObject *) ObjectPtr.h:108
[Inlined] TObjectPtr<UNiagaraDataInterface>::operator=(UNiagaraDataInterface *&) ObjectPtr.h:447
[Inlined] FNiagaraParameterStore::SetDataInterface(UNiagaraDataInterface *,int) NiagaraParameterStore.h:580
FNiagaraScriptExecutionParameterStore::AddScriptParams(UNiagaraScript *,ENiagaraSimTarget,bool) NiagaraScriptExecutionParameterStore.cpp:318
[Inlined] FNiagaraScriptExecutionParameterStore::InitFromOwningScript(UNiagaraScript *,ENiagaraSimTarget,bool) NiagaraScriptExecutionParameterStore.cpp:258
UNiagaraScript::GetExecutionReadyParameterStore(ENiagaraSimTarget) NiagaraScript.cpp:1539
UNiagaraSystem::FindDataInterfaceDependencies(FVersionedNiagaraEmitterData *,UNiagaraScript *,TArray<FVersionedNiagaraEmitter,TSizedDefaultAllocator<32> > &) NiagaraSystem.cpp:1625
UNiagaraSystem::ComputeEmittersExecutionOrder() NiagaraSystem.cpp:1744
UNiagaraSystem::UpdateSystemAfterLoad() NiagaraSystem.cpp:613
INiagaraModule::OnAssetLoaded(UObject *) NiagaraModule.cpp:820
[Inlined] Invoke(void (INiagaraModule::*)(UObject *),INiagaraModule *&,UObject *&&) Invoke.h:66
[Inlined] UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int> >::ApplyAfter(void (INiagaraModule::*&)(UObject *),INiagaraModule *&,UObject *&&) Tuple.h:311
TBaseRawMethodDelegateInstance<0,INiagaraModule,void __cdecl(UObject *),FDefaultDelegateUserPolicy>::ExecuteIfSafe(UObject *) DelegateInstancesImpl.h:532
[Inlined] TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast(UObject *) MulticastDelegateBase.h:254
[Inlined] TMulticastDelegate<void __cdecl(UObject *),FDefaultDelegateUserPolicy>::Broadcast(UObject *) DelegateSignatureImpl.inl:956
EndLoad(FUObjectSerializeContext *,TArray<UPackage *,TSizedDefaultAllocator<32> > *) UObjectGlobals.cpp:2347
`LoadPackageInternal'::`102'::<lambda_2>::operator()() UObjectGlobals.cpp:1749
LoadPackageInternal(UPackage *,const FPackagePath &,unsigned int,FLinkerLoad *,FArchive *,const FLinkerInstancingContext *,const FPackagePath *) UObjectGlobals.cpp:1850
LoadPackage(UPackage *,const FPackagePath &,unsigned int,FArchive *,const FLinkerInstancingContext *,const FPackagePath *) UObjectGlobals.cpp:2014
LoadPackage(UPackage *,const wchar_t *,unsigned int,FArchive *,const FLinkerInstancingContext *) UObjectGlobals.cpp:1987
FAssetData::FastGetAsset(bool,TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator>) AssetData.h:516
[Inlined] FAssetData::GetAsset(TSet<FName,DefaultKeyFuncs<FName,0>,FDefaultSetAllocator>) AssetData.h:549
ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,1> const ,int>,Type,EAssetTypeActivationOpenedMethod) ContentBrowserAssetDataCore.cpp:361
ContentBrowserAssetData::EditOrPreviewItems(IAssetTools *,const UContentBrowserDataSource *,TArrayView<FContentBrowserItemData const ,int>,Type,EAssetTypeActivationOpenedMethod) ContentBrowserAssetDataCore.cpp:417
[Inlined] ContentBrowserAssetData::EditItems(IAssetTools *,const UContentBrowserDataSource *,TArrayView<FContentBrowserItemData const ,int>) ContentBrowserAssetDataCore.cpp:424
UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int>) ContentBrowserAssetDataSource.cpp:2199
SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int>,Type) SContentBrowser.cpp:3141
[Inlined] Invoke(void (SContentBrowser::*)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type),SContentBrowser *&,TArrayView<FContentBrowserItem const ,int> &&,EAssetTypeActivationMethod::Type &&) Invoke.h:66
[Inlined] UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int> >::ApplyAfter(void (SContentBrowser::*&)(TArrayView<FContentBrowserItem const ,int>, EAssetTypeActivationMethod::Type),SContentBrowser *&,TArrayView<FContentBrowserItem const ,int> &&,EAssetTypeActivationMethod::Type &&) Tuple.h:311
TBaseSPMethodDelegateInstance<0,SContentBrowser,1,void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>,Type) DelegateInstancesImpl.h:281
[Inlined] TDelegate<void __cdecl(TArrayView<FContentBrowserItem const ,int>,enum EAssetTypeActivationMethod::Type),FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>,Type) DelegateSignatureImpl.inl:549
SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,1>) SAssetView.cpp:4081
[Inlined] Invoke(void (SAssetView::*)(TSharedPtr<FAssetViewItem,1>),SAssetView *&,TSharedPtr<FAssetViewItem,1> &&) Invoke.h:66
[Inlined] UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int> >::ApplyAfter(void (SAssetView::*&)(TSharedPtr<FAssetViewItem,1>),SAssetView *&,TSharedPtr<FAssetViewItem,1> &&) Tuple.h:311
TBaseSPMethodDelegateInstance<0,SAssetView,1,void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,1>) DelegateInstancesImpl.h:298
TDelegate<void __cdecl(TSharedPtr<FAssetViewItem,1>),FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,1>) DelegateSignatureImpl.inl:570
SListView<TSharedPtr<FAssetViewItem,1> >::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,1>) SListView.h:1122
STableRow<TSharedPtr<FAssetViewItem,1> >::OnMouseButtonDoubleClick(const FGeometry &,const FPointerEvent &) STableRow.h:422
[Inlined] FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_1>::operator()(const FArrangedWidget &,const FPointerEvent &) SlateApplication.cpp:5702
FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,`FSlateApplication::RoutePointerDoubleClickEvent'::`2'::<lambda_1> >(FSlateApplication *,FBubblePolicy,FPointerEvent,const <lambda_1> &,ESlateDebuggingInputEvent) SlateApplication.cpp:442
FSlateApplication::RoutePointerDoubleClickEvent(const FWidgetPath &,const FPointerEvent &) SlateApplication.cpp:5700
FSlateApplication::ProcessMouseButtonDoubleClickEvent(const TSharedPtr<FGenericWindow,1> &,const FPointerEvent &) SlateApplication.cpp:5683
FSlateApplication::OnMouseDoubleClick(const TSharedPtr<FGenericWindow,1> &,Type,TVector2<double>) SlateApplication.cpp:5648
FWindowsApplication::ProcessDeferredMessage(const FDeferredWindowsMessage &) WindowsApplication.cpp:2235
FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,1> &,HWND__ *,unsigned int,unsigned long long,long long,int,int,unsigned int) WindowsApplication.cpp:2738
FWindowsApplication::ProcessMessage(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:1099
[Inlined] WindowsApplication_WndProc(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:931
FWindowsApplication::AppWndProc(HWND__ *,unsigned int,unsigned long long,long long) WindowsApplication.cpp:936
<unknown> 0x00007fff3973e858
<unknown> 0x00007fff3973e299
[Inlined] WinPumpMessages() WindowsPlatformApplicationMisc.cpp:119
FWindowsPlatformApplicationMisc::PumpMessages(bool) WindowsPlatformApplicationMisc.cpp:148
FEngineLoop::Tick() LaunchEngineLoop.cpp:5743
[Inlined] EngineTick() Launch.cpp:61
GuardedMain(const wchar_t *) Launch.cpp:190
LaunchWindowsStartup(HINSTANCE__ *,HINSTANCE__ *,char *,int,const wchar_t *) LaunchWindows.cpp:247
WinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int) LaunchWindows.cpp:298
[Inlined] invoke_main() 0x00007ff664569d26
__scrt_common_main_seh() 0x00007ff664569d05
<unknown> 0x00007fff3b4d7344
<unknown> 0x00007fff3b6426b1

Have Comments or More Details?

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

0
Login to Vote

Fixed
ComponentUE - Niagara
Target Fix5.4
Fix Commit30973992
Main Commit30975057
Release Commit30974137
CreatedJan 18, 2024
ResolvedJan 29, 2024
UpdatedApr 3, 2024