This is a slightly common crash coming out of the 4.17.2 hotfix. Users have not provided any descriptions of their actions when the crash occurred.
Source Context
951 /** 952 * Removes a function from this multi-cast delegate's invocation list (performance is O(N)). 953 * 954 * The function is not actually removed, but deleted and marked as removed. 955 * It will be removed next time the invocation list is compacted within Broadcast(). 956 * 957 * @param Handle The handle of the delegate instance to remove. 958 */ 959 void RemoveDelegateInstance( FDelegateHandle Handle ) 960 { 961 const TInvocationList& LocalInvocationList = Super::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 }
repro steps currently unknown
Access violation - code c0000005 (first/second chance not available) UE4Editor_Sequencer!TBaseMulticastDelegate<void>::RemoveDelegateInstance() [delegatesignatureimpl.inl:964] UE4Editor_Sequencer!FAcquiredResources::Release() [acquiredresources.h:60] UE4Editor_Sequencer!FSequencer::~FSequencer() [sequencer.cpp:343] UE4Editor_Sequencer!FSequencer::`scalar deleting destructor'() UE4Editor_MovieSceneTools!TBaseFunctorDelegateInstance<TSharedRef<IPropertyTypeCustomization,0> __cdecl() UE4Editor_PropertyEditor!TSparseArray<TSetElement<TTuple<FName,FPropertyTypeLayoutCallbackList> >,TSparseArrayAllocator<FDefaultAllocator,FDefaultBitArrayAllocator> >::Empty() [sparsearray.h:231] UE4Editor_PropertyEditor!UE4Tuple_Private::TTupleStorage<TIntegerSequence<unsigned int,0,1>,TWeakPtr<IDetailsView,0>,TMap<FName,FPropertyTypeLayoutCallbackList,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<FName,FPropertyTypeLayoutCallbackList,0> > >::~TT() UE4Editor_PropertyEditor!TSparseArray<TSetElement<TTuple<TWeakPtr<IDetailsView,0>,TMap<FName,FPropertyTypeLayoutCallbackList,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<FName,FPropertyTypeLayoutCallbackList,0> > > >,TSparseArrayAllocator<FDefaultAllocat() [sparsearray.h:228] UE4Editor_PropertyEditor!FPropertyEditorModule::~FPropertyEditorModule() UE4Editor_PropertyEditor!FPropertyEditorModule::`scalar deleting destructor'() UE4Editor_Core!FModuleManager::UnloadModulesAtShutdown() [modulemanager.cpp:694] UE4Editor!FEngineLoop::Exit() [launchengineloop.cpp:2844] 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()
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-50835 in the post.
1 |
Component | UE - Anim - Sequencer |
---|---|
Affects Versions | 4.17.2 |
Target Fix | 4.18 |
Created | Oct 5, 2017 |
---|---|
Resolved | Oct 5, 2017 |
Updated | Apr 27, 2018 |