Description

This is a regular crash occurring in 4.17. It may be a regression as there is no immediate evidence of it occurring in prior releases.

Users have not provided any descriptions of their actions when the crashes occur, however one user experienced the crash in the Content Examples project.

Source Context

771       	/**
  772       	 * Finds element within the array.
  773       	 *
  774       	 * @param Item Item to look for.
  775       	 * @returns Index of the found element. INDEX_NONE otherwise.
  776       	 * @see FindLast, FindLastByPredicate
  777       	 */
  778       	int32 Find(const ElementType& Item) const
  779       	{
  780       		const ElementType* RESTRICT Start = GetData();
  781       		for (const ElementType* RESTRICT Data = Start, *RESTRICT DataEnd = Data + ArrayNum; Data != DataEnd; ++Data)
  782       		{
  783 ***** 			if (*Data == Item)
  784       			{
  785       				return static_cast<int32>(Data - Start);
  786       			}
  787       		}
  788       		return INDEX_NONE;
  789       	}
Steps to Reproduce

1. Create a blueprint based on Actor (A)
2. Add an Event Dispatcher and a Function
3. Make a new Level (B)
4. Place an instance of Actor A in level B
5. Open the Level Blueprint
6. Add a variable to the Level Blueprint of type Object Reference to A
7. Add a call to Actor A's function off of the Begin Play node
8. In the Level viewport select the instance placed in step 4.
9. Bind a PrintString node to the Event Dispatcher in the level blueprint
10. Compile and Save all blueprints
11. Make a change to Actor A's function signatures and compile it, this will trigger a recompilation of the level blueprint as well and will sometimes crash

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

UE4Editor_UnrealEd!TArray<TScriptDelegate<FWeakObjectPtr>,FDefaultAllocator>::Find() [array.h:784]
UE4Editor_UnrealEd!TArray<TScriptDelegate<FWeakObjectPtr>,FDefaultAllocator>::AddUniqueImpl<TScriptDelegate<FWeakObjectPtr> const & __ptr64>() [array.h:1805]
UE4Editor_UnrealEd!FBlueprintEditorUtils::FixLevelScriptActorBindings() [blueprinteditorutils.cpp:7068]
UE4Editor_Engine!ULevel::OnLevelScriptBlueprintChanged() [level.cpp:1943]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl() [blueprintcompilationmanager.cpp:823]
UE4Editor_Kismet!FBlueprintCompilationManagerImpl::CompileSynchronouslyImpl() [blueprintcompilationmanager.cpp:189]
UE4Editor_UnrealEd!FKismetEditorUtilities::CompileBlueprint() [kismet2.cpp:750]
UE4Editor_Kismet!FBlueprintEditor::Compile() [blueprinteditor.cpp:3291]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_Kismet!TBaseSPMethodDelegateInstance<0,FBlueprintEditor,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_Slate!FUICommandList::ExecuteAction() [uicommandlist.cpp:97]
UE4Editor_Slate!SToolBarButtonBlock::OnClicked() [stoolbarbuttonblock.cpp:305]
UE4Editor_Slate!TMemberFunctionCaller<SToolBarButtonBlock,FReply() [delegateinstanceinterface.h:165]
UE4Editor_Slate!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SToolBarButtonBlock,FReply() [tuple.h:497]
UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SToolBarButtonBlock,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!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-48692 in the post.

0
Login to Vote

Fixed
ComponentUE - Gameplay
Affects Versions4.17
Target Fix4.18
Fix Commit3679030
Release Commit3679030
CreatedAug 22, 2017
ResolvedOct 3, 2017
UpdatedApr 27, 2018