Some devs of our team already using the beta is experiencing frequent freezes.
The lock up can happen during startup, or on any asset change or during build.
I attached VS2019 to Unity.exe, and I see the main thread is stuck in AssetImportManager::Import
Here’s the call stack of the main thread:
> ntdll.dll!NtWaitForSingleObject() Unknown
KernelBase.dll!WaitForSingleObjectEx() Unknown
Unity.exe!AssetImportManager::Import(class core::hash_map<struct AssetDatabase::ImporterID,struct ImporterInfo,struct core::hash<struct AssetDatabase::ImporterID>,struct std::equal_to<struct AssetDatabase::ImporterID> > const &,struct dynamic_array<struct PostprocessorInfo,0> const &,class AssetResolver &,struct CategorizedAssets &,class IImportProgress *,class core::hash_set<struct UnityGUID,struct core::hash<struct UnityGUID>,struct std::equal_to<struct UnityGUID> > const &,struct LoadedImportedAssetsSnapshot const *,class core::hash_set<class core::basic_string<char,class core::StringStorageDefault<char> >,struct core::hash<class core::basic_string<char,class core::StringStorageDefault<char> > >,struct std::equal_to<class core::basic_string<char,class core::StringStorageDefault<char> > > > &,class CrashedAssetImportsDatabase &,class core::hash_set<struct ArtifactKey,struct core::hash<struct ArtifactKey>,struct std::equal_to<struct ArtifactKey> > &) Unknown
Unity.exe!ImportAndPostprocessOutOfDateAssets() Unknown
Unity.exe!RefreshInternalV2() Unknown
Unity.exe!StopAssetImportingV2() Unknown
Unity.exe!RefreshV2(enum AssetDatabase::UpdateAssetOptions) Unknown
Unity.exe!AssetDatabase::Refresh(enum AssetDatabase::UpdateAssetOptions) Unknown
Unity.exe!Application::InitializeProject(void) Unknown
Unity.exe!WinMain() Unknown
Unity.exe!__scrt_common_main_seh() Unknown
kernel32.dll!00007ff9a1847bd4() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
Disassembly shows:
00007FF7E16F7DF4 call RemoteAssetCache::GetArtifactFromCacheServerAsync (07FF7E16F5E80h)
00007FF7E16F7DF9 nop dword ptr [rax]
00007FF7E16F7E00 mov edx,0FFFFFFFFh
00007FF7E16F7E05 mov r8d,1
00007FF7E16F7E0B mov rcx,qword ptr [rbp+50h]
00007FF7E16F7E0F call qword ptr [__imp_WaitForSingleObjectEx (07FF7E4BF9C10h)]
00007FF7E16F7E15 test eax,eax
I guess it waits for that async fetch to complete…
Editor.log doesn’t contain anything useful.