Skip to content

FD hangs/throws exception when changing branches #2745

Open
@gene-pavlovsky

Description

@gene-pavlovsky

Working on a relatively large (~1000 .hx files) project, when I switch to another branch, FD often stumbles. Especially this happens if there are many changes when doing git checkout.
Note: I've disabled the Source Control git integration to rule out issues coming from that plugin.

There are two types of issues in this case:

  • FD freezes for longer than usual. Pausing it's execution (debugging in VS) I can see that it's stuck trying to get a lock (cache) in ASCompletion.dll!ASCompletion.Helpers.ASTCache.Remove(ASCompletion.Model.ClassModel cls) Line 46, called by ASCompletion.dll!ASCompletion.PluginMain.OnFileRemove.AnonymousMethod__0() Line 1071.
    Usually it gets unstuck eventually, I can't recall if it ever froze completely. I tried switching between branch A and branch B repeatedly, and sometimes everything works relatively ok (FD freezes for not so long), but sometimes it freezes for much longer.

  • FD throws an exception:

System.InvalidOperationException
  HResult=0x80131509
  Message=Collection was modified; enumeration operation may not execute.
  Source=mscorlib
  StackTrace:
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator.MoveNext()
   at HaXeContext.Context.ResolveImports(FileModel inFile) in C:\project\flashdevelop\External\Plugins\HaXeContext\Context.cs:line 978

Stack trace:
>	HaXeContext.dll!HaXeContext.Context.ResolveImports(ASCompletion.Model.FileModel inFile) Line 978	C#	Symbols loaded.
 	HaXeContext.dll!HaXeContext.Context.ResolveType(string cname, ASCompletion.Model.FileModel inFile) Line 1159	C#	Symbols loaded.
 	ASCompletion.dll!ASCompletion.Model.ClassModel.ResolveExtendedType(System.Collections.Generic.IList<ASCompletion.Model.ClassModel> extensionList) Line 148	C#	Symbols loaded.
 	ASCompletion.dll!ASCompletion.Model.ClassModel.ResolveExtends() Line 114	C#	Symbols loaded.
 	ASCompletion.dll!ASCompletion.Helpers.ASTCache.UpdateOutdatedModels.AnonymousMethod__10_0() Line 100	C#	Symbols loaded.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions