Occasional AF in Debug.Assert(_count < buckets.Length);
Two threads access unprotected objects
> Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.AddWorker(Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.Bucket[] buckets, string key, Microsoft.PythonTools.Analysis.VariableDef value, int hc, bool throwIfExists) Line 199 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.Add(Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.Bucket[] buckets, string key, Microsoft.PythonTools.Analysis.VariableDef value, bool throwIfExists) Line 189 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.AddOne(string key, Microsoft.PythonTools.Analysis.VariableDef value, bool throwIfExists) Line 112 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.this[string].set(string key, Microsoft.PythonTools.Analysis.VariableDef value) Line 549 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.InterpreterScope.AddVariable(string name, Microsoft.PythonTools.Analysis.VariableDef variable) Line 259 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.InterpreterScope.CreateVariable(Microsoft.PythonTools.Parsing.Ast.Node node, Microsoft.PythonTools.Analysis.AnalysisUnit unit, string name, bool addRef) Line 235 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.ModuleScope.SetModuleVariable(string name, Microsoft.PythonTools.Analysis.IAnalysisSet value) Line 33 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Values.ModuleInfo.EnsureModuleVariables(Microsoft.PythonTools.Analysis.PythonAnalyzer state) Line 68 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.PythonAnalyzer.ReloadModulesAsync() Line 193 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.LanguageServer.Server.DidChangeConfiguration(Microsoft.PythonTools.Analysis.LanguageServer.DidChangeConfigurationParams params) Line 317 C#
[Resuming Async Method]
[External Code]
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.LanguageServer.Server.Initialize.AnonymousMethod__0(System.Threading.Tasks.Task<Microsoft.PythonTools.Analysis.PythonAnalyzer> t) Line 108 C#
and
> Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.AddOne(string key, Microsoft.PythonTools.Analysis.VariableDef value, bool throwIfExists) Line 112 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.AnalysisDictionary<string, Microsoft.PythonTools.Analysis.VariableDef>.this[string].set(string key, Microsoft.PythonTools.Analysis.VariableDef value) Line 549 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.InterpreterScope.AddVariable(string name, Microsoft.PythonTools.Analysis.VariableDef variable) Line 259 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.InterpreterScope.CreateVariable(Microsoft.PythonTools.Parsing.Ast.Node node, Microsoft.PythonTools.Analysis.AnalysisUnit unit, string name, bool addRef) Line 235 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Analyzer.ModuleScope.SetModuleVariable(string name, Microsoft.PythonTools.Analysis.IAnalysisSet value) Line 33 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.Values.ModuleInfo.EnsureModuleVariables(Microsoft.PythonTools.Analysis.PythonAnalyzer state) Line 68 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.ProjectEntry.Parse(bool enqueueOnly, System.Threading.CancellationToken cancel) Line 228 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Analysis.ProjectEntry.Analyze(System.Threading.CancellationToken cancel, bool enqueueOnly) Line 175 C#
Microsoft.Python.Analysis.Engine.dll!Microsoft.PythonTools.Intellisense.AnalysisQueue.Worker(object threadStarted) Line 233 C#
Occasional AF in
Debug.Assert(_count < buckets.Length);Two threads access unprotected objects
and