Description
Description
I started a new project this last weekend (LD55), imported git-for-unity, and was working happily for a while, when all of a sudden
unity kept crashing on domain reload, hanging with a "Reloading Domain (n:nn:nn)" dialog popup.
I force-quit unity, and then could work for a while, but the hang came back after a short period.
I tried unloading various editor assets trying to figure out if one of them was the culprit -- it turned out that once I unloaded git-for-unity, the problem went away.
TBH, I think this is probably a problem with Unity, but the consensus in (this thread)[https://forum.unity.com/threads/getting-stuck-on-domain-reload.1377126] is that unity does this when there are open network connections preventing the domain reload. others reported success when they found leaky sockets in their network code.
Steps to Reproduce
- Create a project with Unity 2022.3.24f1, install git-for-unity
- ...
Profitunity hangs.
Expected behavior: [What you expect to happen]
Domain reloads, I write 100% bug free code
Actual behavior: [What actually happens]
Domain reload dialog pops up, hangs indefinitely, I am prevented from adding more bugs to my code.
Reproduces how often: [What percentage of the time does it reproduce?]
100%
The last git-for-unity.log that I have on my system, before uninstalling. Dunno if it's relevant.
240413-11:56:47.690 WARN [86] <Repository> Error invalidating GitStatus
Unity.Editor.Tasks.ProcessException: Error code -42
Thread was being aborted.
'C:\Program Files\Git\cmd\git.exe -c i18n.logoutputencoding=utf8 -c core.quotepath=false --no-optional-locks status -b -u --porcelain'
Working directory: C:\src\Unity\LD55
---> System.Threading.ThreadAbortException: Thread was being aborted.
at (wrapper managed-to-native) System.Threading.WaitHandle.Wait_internal(intptr*,int,bool,int)
at System.Threading.WaitHandle.WaitOneNative (System.Runtime.InteropServices.SafeHandle waitableSafeHandle, System.UInt32 millisecondsTimeout, System.Boolean hasThreadAffinity, System.Boolean exitContext) [0x00044] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.InternalWaitOne (System.Runtime.InteropServices.SafeHandle waitableSafeHandle, System.Int64 millisecondsTimeout, System.Boolean hasThreadAffinity, System.Boolean exitContext) [0x00014] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne (System.Int64 timeout, System.Boolean exitContext) [0x00000] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne (System.Int32 millisecondsTimeout, System.Boolean exitContext) [0x00019] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne () [0x00000] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Diagnostics.AsyncStreamReader.WaitUtilEOF () [0x00008] in <fbf3bef999a04908bac2dd07829c8508>:0
at System.Diagnostics.Process.WaitForExit (System.Int32 milliseconds) [0x0004e] in <fbf3bef999a04908bac2dd07829c8508>:0
at System.Diagnostics.Process.WaitForExit () [0x00000] in <fbf3bef999a04908bac2dd07829c8508>:0
at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.WaitForExit()
at Unity.Editor.Tasks.ProcessWrapper.WaitForExit (System.Int32 milliseconds) [0x00014] in .\Library\PackageCache\[email protected]\com.unity.editor.tasks\Editor\Processes\ProcessWrapper.cs:322
at Unity.Editor.Tasks.ProcessWrapper.Run () [0x001d5] in .\Library\PackageCache\[email protected]\com.unity.editor.tasks\Editor\Processes\ProcessWrapper.cs:122
--- End of inner exception stack trace ---
System.Threading.ThreadAbortException: Thread was being aborted.
at (wrapper managed-to-native) System.Threading.WaitHandle.Wait_internal(intptr*,int,bool,int)
at System.Threading.WaitHandle.WaitOneNative (System.Runtime.InteropServices.SafeHandle waitableSafeHandle, System.UInt32 millisecondsTimeout, System.Boolean hasThreadAffinity, System.Boolean exitContext) [0x00044] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.InternalWaitOne (System.Runtime.InteropServices.SafeHandle waitableSafeHandle, System.Int64 millisecondsTimeout, System.Boolean hasThreadAffinity, System.Boolean exitContext) [0x00014] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne (System.Int64 timeout, System.Boolean exitContext) [0x00000] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne (System.Int32 millisecondsTimeout, System.Boolean exitContext) [0x00019] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Threading.WaitHandle.WaitOne () [0x00000] in <b11ba2a8fbf24f219f7cc98532a11304>:0
at System.Diagnostics.AsyncStreamReader.WaitUtilEOF () [0x00008] in <fbf3bef999a04908bac2dd07829c8508>:0
at System.Diagnostics.Process.WaitForExit (System.Int32 milliseconds) [0x0004e] in <fbf3bef999a04908bac2dd07829c8508>:0
at System.Diagnostics.Process.WaitForExit () [0x00000] in <fbf3bef999a04908bac2dd07829c8508>:0
at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.WaitForExit()
at Unity.Editor.Tasks.ProcessWrapper.WaitForExit (System.Int32 milliseconds) [0x00014] in .\Library\PackageCache\[email protected]\com.unity.editor.tasks\Editor\Processes\ProcessWrapper.cs:322
at Unity.Editor.Tasks.ProcessWrapper.Run () [0x001d5] in .\Library\PackageCache\[email protected]\com.unity.editor.tasks\Editor\Processes\ProcessWrapper.cs:122