Description

This is a common crash affecting users on Windows and Linux. It also appears related to an older Mac crash ([Link Removed]). Users have not provided any new descriptions.

Source Context

  959       	void RemoveDelegateInstance( FDelegateHandle Handle )
  960       	{
  961       		const TInvocationList& LocalInvocationList = GetInvocationList();
  962       
  963       		for (int32 InvocationListIndex = 0; InvocationListIndex < LocalInvocationList.Num(); ++InvocationListIndex)
  964       		{
  965       			// InvocationList is const, so we const_cast to be able to unbind the entry
  966       			// TODO: This is horrible, can we get the base class to do it?
  967       			FDelegateBase& DelegateBase = const_cast<FDelegateBase&>(LocalInvocationList[InvocationListIndex]);
  968       
  969 ***** 			IDelegateInstance* DelegateInstanceInterface = Super::GetDelegateInstanceProtectedHelper(DelegateBase);
  970       			if ((DelegateInstanceInterface != nullptr) && DelegateInstanceInterface->GetHandle() == Handle)
  971       			{
  972       				DelegateBase.Unbind();
  973       
  974       				break; // each delegate binding has a unique handle, so once we find it, we can stop
  975       			}
  976       		}
  977       
  978       		CompactInvocationList();
  979       	}
  980       };
Steps to Reproduce

repro steps currently unknown

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

UE4Editor_ClassViewer!TBaseMulticastDelegate<void>::RemoveDelegateInstance() [delegatesignatureimpl.inl:970]
UE4Editor_ClassViewer!FClassHierarchy::~FClassHierarchy() [sclassviewer.cpp:1655]
UE4Editor_ClassViewer!SharedPointerInternals::TReferenceControllerWithDeleter<FClassHierarchy,SharedPointerInternals::DefaultDeleter<FClassHierarchy> >::DestroyObject() [sharedpointerinternals.h:110]
UE4Editor_ClassViewer!FClassViewerModule::ShutdownModule() [classviewermodule.cpp:80]
UE4Editor_Core!FModuleManager::UnloadModule() [modulemanager.cpp:565]
UE4Editor_Core!FModuleManager::UnloadModulesAtShutdown() [modulemanager.cpp:692]
UE4Editor!FEngineLoop::Exit() [launchengineloop.cpp:2757]
UE4Editor!GuardedMain() [launch.cpp:177]
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-47264 in the post.

0
Login to Vote

Fixed
ComponentTools
Affects Versions4.10, 4.11, 4.12, 4.13, 4.14, 4.15, 4.16
Target Fix4.17
Fix Commit3553747
Main Commit3596628
Release Commit3553747
CreatedJul 14, 2017
ResolvedJul 25, 2017
UpdatedApr 27, 2018
View Jira Issue