Hey Dustin. We have not see the deadlock recently, but we have a bandaid in place and also we believe integrating epic CL 48420802 helped with the issue, if this can help you pinpointing the problem.
Below are the temptative fixes we put as a bandaid (see in between the TNM EDIT START/STOP markers):
In SkeletalMesh.cpp:
void USkeletalMesh::Build()
{
TRACE_CPUPROFILER_EVENT_SCOPE(USkeletalMesh::Build);
// Tell the compiler to finish compiling us if we have a pending
// compilation ongoing plus any dependency (i.e. UGroomBindings).
// TNM EDIT START : mmoulis Fixing groom binding deadlock at cook per Jon’s fix in workshop branch
if (IsCompiling())
{
FAssetCompilingManager::Get().FinishCompilationForObjects({this});
}
// TNM EDIT STOP
FSkinnedAssetAsyncBuildScope AsyncBuildScope(this);
…
FEvent* USkeletalMesh::LockPropertiesUntil()
{
TRACE_CPUPROFILER_EVENT_SCOPE(USkeletalMesh::Import);
check(IsInGameThread());
FEvent* Event = FPlatformProcess::GetSynchEventFromPool();
check(Event);
// Tell the compiler to finish compiling us if we have a pending
// compilation ongoing plus any dependency (i.e. UGroomBindings).
// TNM EDIT START
if (IsCompiling())
{
FAssetCompilingManager::Get().FinishCompilationForObjects({ this });
}
// TNM EDIT STOP
//Use the async task compile to lock the properties
FSkinnedAsyncTaskContext Context(Event);
BeginAsyncTaskInternal(Context);
[Attachment Removed]