Skip to content

Git for unity seems to cause domain reload issues? #30

Open
@pryankster

Description

@pryankster

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

  1. Create a project with Unity 2022.3.24f1, install git-for-unity
  2. ...
  3. Profit unity 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 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions