Description

This is a trending crash coming out of the 4.17 release. Users have not provided any descriptions of their actions when the crash occurred.

Source Context

 150       	/**
  151       	 * Removes any expired or deleted functions from the invocation list.
  152       	 *
  153       	 * @see RequestCompaction
  154       	 */
  155       	void CompactInvocationList(bool CheckThreshold=false)
  156       	{
  157       		// if locked and no object, just return
  158 ***** 		if (InvocationListLockCount > 0)
  159       		{
  160       			return;
  161       		}
  162       
  163       		// if checking threshold, obey but decay. This is to ensure that even infrequently called delegates will
  164       		// eventually compact during an Add()
  165       		if (CheckThreshold 	&& --CompactionThreshold > InvocationList.Num())
  166       		{
  167       			return;
  168       		}
Steps to Reproduce
  1. Open QAGame
  2. Open TM-LandscapeFoliage
  3. Click on the Foliage tab in the Modes panel
  4. Click on one of the foliage types and select the browse to mesh in Content Browser icon for the Mesh
  5. PIE
  6. Exit PIE
  7. Right click on the static mesh in the Content Browser and select Delete
  8. Click on Force Delete

Result: Crash

Callstack
Access violation - code c0000005 (first/second chance not available)

UE4Editor_Foliage!FMulticastDelegateBase<FWeakObjectPtr>::CompactInvocationList() [multicastdelegatebase.h:159]
UE4Editor_Foliage!FMulticastDelegateBase<FWeakObjectPtr>::AddInternal() [multicastdelegatebase.h:146]
UE4Editor_Foliage!TBaseMulticastDelegate<void,FBoxSphereBounds const & __ptr64>::AddRaw<FFoliageMeshInfo>() [delegatesignatureimpl.inl:730]
UE4Editor_Foliage!AInstancedFoliageActor::NotifyFoliageTypeChanged() [instancedfoliage.cpp:2795]
UE4Editor_Foliage!UFoliageType::PostEditChangeProperty() [instancedfoliage.cpp:606]
UE4Editor_UnrealEd!ObjectTools::ForceReplaceReferences() [objecttools.cpp:791]
UE4Editor_UnrealEd!ObjectTools::ForceDeleteObjects() [objecttools.cpp:2304]
UE4Editor_UnrealEd!FAssetDeleteModel::DoForceDelete() [assetdeletemodel.cpp:316]
UE4Editor_UnrealEd!SDeleteAssetsDialog::ForceDelete() [sdeleteassetsdialog.cpp:717]
UE4Editor_UnrealEd!TMemberFunctionCaller<SDeleteAssetsDialog,FReply() [delegateinstanceinterface.h:165]
UE4Editor_UnrealEd!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SDeleteAssetsDialog,FReply() [tuple.h:497]
UE4Editor_UnrealEd!TBaseSPMethodDelegateInstance<0,SDeleteAssetsDialog,0,FReply __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [delegatesignatureimpl.inl:537]
UE4Editor_Slate!SButton::OnMouseButtonUp() [sbutton.cpp:282]
UE4Editor_Slate!<lambda_1002768c627006711ef2f351a87ec0e7>::operator() [slateapplication.cpp:5199]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_1002768c627006711ef2f351a87ec0e7> >() [slateapplication.cpp:232]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [slateapplication.cpp:5188]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [slateapplication.cpp:5690]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [slateapplication.cpp:5670]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1718]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2161]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:881]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:721]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsApplication::PumpMessages() [windowsapplication.cpp:2173]
UE4Editor_Slate!FSlateApplication::TickPlatform() [slateapplication.cpp:1613]
UE4Editor_Slate!FSlateApplication::AddModalWindow() [slateapplication.cpp:2094]
UE4Editor_UnrealEd!UEditorEngine::EditorAddModalWindow() [editorengine.cpp:3845]
UE4Editor_UnrealEd!ObjectTools::DeleteObjects() [objecttools.cpp:1836]
UE4Editor_UnrealEd!ObjectTools::DeleteAssets() [objecttools.cpp:1743]
UE4Editor_ContentBrowser!FAssetContextMenu::ExecuteDelete() [assetcontextmenu.cpp:1816]
UE4Editor_ContentBrowser!SContentBrowser::HandleDeleteCommandExecute() [scontentbrowser.cpp:2131]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_Slate!FUICommandList::ConditionalProcessCommandBindings() [uicommandlist.cpp:216]
UE4Editor_Slate!FUICommandList::ProcessCommandBindings() [uicommandlist.cpp:160]
UE4Editor_ContentBrowser!SContentBrowser::OnKeyDown() [scontentbrowser.cpp:1068]
UE4Editor_Slate!<lambda_2afcd964c763e269e2d1a63f3a72f846>::operator() [slateapplication.cpp:4771]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_2afcd964c763e269e2d1a63f3a72f846> >() [slateapplication.cpp:232]
UE4Editor_Slate!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_2afcd964c763e269e2d1a63f3a72f846>,FKeyEvent>() [slateapplication.cpp:214]
UE4Editor_Slate!FSlateApplication::ProcessKeyDownEvent() [slateapplication.cpp:4769]
UE4Editor_Slate!FSlateApplication::OnKeyDown() [slateapplication.cpp:4681]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1553]
UE4Editor_Core!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2161]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:881]
UE4Editor_Core!FWindowsApplication::AppWndProc() [windowsapplication.cpp:721]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [windowsplatformmisc.cpp:1009]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3151]
UE4Editor!GuardedMain() [launch.cpp:166]
UE4Editor!GuardedMainWrapper() [launchwindows.cpp:134]
UE4Editor!WinMain() [launchwindows.cpp:210]
UE4Editor!__scrt_common_main_seh() [exe_common.inl:253]
kernel32!BaseThreadInitThunk()
ntdll!RtlUserThreadStart()

Have Comments or More Details?

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

0
Login to Vote

Fixed
Fix Commit3732303
CreatedAug 15, 2017
ResolvedNov 2, 2017
UpdatedNov 8, 2017
Pull Requests
4447 - klorberg