Description

This is a trending crash coming out of the 4.18 release. It may be a regression.

User Descriptions

  • created a physics asset and tried to open it...

Source Context

  66       	if (!SerialNumbersMatch(ObjectItem))
   67       	{
   68       		return true;
   69       	}
   70       	if (bThreadsafeTest)
   71       	{
   72       		return false;
   73       	}
   74       	return GUObjectArray.IsStale(ObjectItem, bEvenIfPendingKill);
   75       }
   76       
   77       UObject* FWeakObjectPtr::Get(/*bool bEvenIfPendingKill = false*/) const
   78       {
   79       	// Using a literal here allows the optimizer to remove branches later down the chain.
   80 ***** 	return Internal_Get(false);
   81       }
   82       
   83       UObject* FWeakObjectPtr::Get(bool bEvenIfPendingKill) const
   84       {
   85       	return Internal_Get(bEvenIfPendingKill);
   86       }
   87       
   88       UObject* FWeakObjectPtr::GetEvenIfUnreachable() const
   89       {
   90       	UObject* Result = nullptr;
   91       	if (Internal_IsValid(true, true))
   92       	{
   93       		FUObjectItem* ObjectItem = GUObjectArray.IndexToObject(GetObjectIndex(), true);
   94       		Result = static_cast<UObject*>(ObjectItem->Object);
   95       	}
Steps to Reproduce

Import an FBX to create a skeleton, physics asset and mesh
Force delete the skeleton
Open the physics asset

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

UE4Editor_CoreUObject!FWeakObjectPtr::Get() [weakobjectptr.cpp:81]
UE4Editor_Engine!FSoftObjectPtr::LoadSynchronous() [softobjectptr.h:51]
UE4Editor_Engine!USkeleton::LoadAdditionalPreviewSkeletalMeshes() [skeleton.cpp:935]
UE4Editor_Persona!FAnimationEditorPreviewScene::FAnimationEditorPreviewScene() [animationeditorpreviewscene.cpp:57]
UE4Editor_Persona!FPersonaToolkit::CreatePreviewScene() [personatoolkit.cpp:89]
UE4Editor_Persona!FPersonaModule::CreatePersonaToolkit() [personamodule.cpp:229]
UE4Editor_PhysicsAssetEditor!FPhysicsAssetEditor::InitPhysicsAssetEditor() [physicsasseteditor.cpp:125]
UE4Editor_PhysicsAssetEditor!FPhysicsAssetEditorModule::CreatePhysicsAssetEditor() [physicsasseteditormodule.cpp:58]
UE4Editor_AssetTools!FAssetTypeActions_PhysicsAsset::OpenAssetEditor() [assettypeactions_physicsasset.cpp:39]
UE4Editor_UnrealEd!FAssetEditorManager::OpenEditorForAsset() [asseteditormanager.cpp:361]
UE4Editor_AssetTools!FAssetTypeActions_Base::AssetsActivated() [assettypeactions_base.h:50]
UE4Editor_ContentBrowser!SContentBrowser::OnAssetsActivated() [scontentbrowser.cpp:1942]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_ContentBrowser!SAssetView::OnListMouseButtonDoubleClick() [sassetview.cpp:3904]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,TTypeWrapper<void> __cdecl() [delegateinstancesimpl.h:327]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void __cdecl() [delegateinstancesimpl.h:434]
UE4Editor_ContentBrowser!TBaseDelegate<void,TSharedPtr<FAssetViewItem,0> >::ExecuteIfBound() [delegatesignatureimpl.inl:624]
UE4Editor_ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked() [slistview.h:805]
UE4Editor_ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick() [stablerow.h:288]
UE4Editor_Slate!<lambda_eeb33fd1b480e3cad58a1531d90d2e14>::operator() [slateapplication.cpp:5695]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_eeb33fd1b480e3cad58a1531d90d2e14> >() [slateapplication.cpp:234]
UE4Editor_Slate!FSlateApplication::RoutePointerDoubleClickEvent() [slateapplication.cpp:5693]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent() [slateapplication.cpp:5680]
UE4Editor_Slate!FSlateApplication::OnMouseDoubleClick() [slateapplication.cpp:5656]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [windowsapplication.cpp:1729]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [windowsapplication.cpp:2171]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [windowsapplication.cpp:888]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [windowsapplication.cpp:725]
user32!UserCallWinProcCheckWow()
user32!DispatchMessageWorker()
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [windowsplatformapplicationmisc.cpp:129]
UE4Editor!FEngineLoop::Tick() [launchengineloop.cpp:3220]
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 toAnswerHub just mention UE-51916 in the post.

0
Login to Vote

Fixed
ComponentPhysics
Affects Versions4.18
Target Fix4.18.1
Fix Commit3734857
CreatedNov 2, 2017
ResolvedNov 3, 2017
UpdatedApr 27, 2018
Pull Requests
4447 - klorberg