Description
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)
inASCompletion.dll!ASCompletion.Helpers.ASTCache.Remove(ASCompletion.Model.ClassModel cls) Line 46
, called byASCompletion.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.