Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

NullReferenceException in AstTypeAnnotationConverter.MakeGenericClassType #446

Closed

Description

Got this while looking into #391 some more.

[Error - 10:58:54 AM] System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.) ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.PythonTools.Interpreter.Ast.AstTypeAnnotationConverter.MakeGenericClassType(IPythonType typeArg) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstTypeAnnotationConverter.cs:line 201
   at Microsoft.PythonTools.Interpreter.Ast.AstTypeAnnotationConverter.MakeGeneric(IPythonType baseType, IReadOnlyList`1 args) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstTypeAnnotationConverter.cs:line 135
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.Walker.MakeGenericOp.Apply[T](TypeAnnotationConverter`1 converter, Stack`1 stack) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 266
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.Walker.GetResult[T](TypeAnnotationConverter`1 converter) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 71
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.GetValue[T](TypeAnnotationConverter`1 converter) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 49
   at Microsoft.PythonTools.Interpreter.Ast.NameLookupContext.GetTypesFromAnnotation(Expression expr) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\NameLookupContext.cs:line 158
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalker.Walk() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalker.cs:line 68
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalkerSet.ProcessWalker(AstAnalysisFunctionWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalkerSet.cs:line 64
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalkerSet.ProcessSet() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalkerSet.cs:line 51
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisWalker.Complete() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisWalker.cs:line 90
   at Microsoft.PythonTools.Interpreter.Ast.AstScrapedPythonModule.PostWalk(PythonWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstScrapedPythonModule.cs:line 139
   at Microsoft.PythonTools.Interpreter.Ast.AstScrapedPythonModule.Imported(IModuleContext context) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstScrapedPythonModule.cs:line 251
   at Microsoft.PythonTools.Interpreter.Ast.AstPythonMultipleMembers.MultipleModuleMembers.Imported(IModuleContext context) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstPythonMultipleMembers.cs:line 199
   --- End of inner exception stack trace ---
   at Microsoft.PythonTools.Interpreter.Ast.AstPythonInterpreter.ImportModule(String name) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstPythonInterpreter.cs:line 263
   at Microsoft.PythonTools.Analysis.ModuleTable.TryImport(String name, ModuleReference& moduleReference) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\ModuleTable.cs:line 128
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.TryImportModule(String modName, Boolean forceAbsolute, ModuleReference& moduleRef, IReadOnlyList`1& remainingParts) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Analyzer\DDG.cs:line 440
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(FromImportStatement node) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Analyzer\DDG.cs:line 365
   at Microsoft.PythonTools.Parsing.Ast.FromImportStatement.Walk(PythonWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\FromImportStatement.cs:line 61
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Walk(SuiteStatement node) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Analyzer\DDG.cs:line 665
   at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\SuiteStatement.cs:line 34
   at Microsoft.PythonTools.Parsing.Ast.PythonAst.Walk(PythonWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\PythonAst.cs:line 92
   at Microsoft.PythonTools.Analysis.AnalysisUnit.AnalyzeWorker(DDG ddg, CancellationToken cancel) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\AnalysisUnit.cs:line 154
   at Microsoft.PythonTools.Analysis.AnalysisUnit.Analyze(DDG ddg, CancellationToken cancel) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\AnalysisUnit.cs:line 139
   at Microsoft.PythonTools.Analysis.Analyzer.DDG.Analyze(Deque`1 queue, CancellationToken cancel, Action`1 reportQueueSize, Int32 reportQueueInterval) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Analyzer\DDG.cs:line 75
   at Microsoft.PythonTools.Analysis.PythonAnalyzer.AnalyzeQueuedEntries(CancellationToken cancel) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\PythonAnalyzer.cs:line 908
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.GroupAnalysis.Analyze(CancellationToken cancel) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Intellisense\AnalysisQueue.cs:line 229
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.HandleAnalyzable(IAnalyzable item, AnalysisPriority priority, CancellationToken cancellationToken) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Intellisense\AnalysisQueue.cs:line 152
   at Microsoft.PythonTools.Intellisense.AnalysisQueue.ConsumerLoop() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Intellisense\AnalysisQueue.cs:line 64
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.PythonTools.Interpreter.Ast.AstTypeAnnotationConverter.MakeGenericClassType(IPythonType typeArg) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstTypeAnnotationConverter.cs:line 201
   at Microsoft.PythonTools.Interpreter.Ast.AstTypeAnnotationConverter.MakeGeneric(IPythonType baseType, IReadOnlyList`1 args) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstTypeAnnotationConverter.cs:line 135
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.Walker.MakeGenericOp.Apply[T](TypeAnnotationConverter`1 converter, Stack`1 stack) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 266
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.Walker.GetResult[T](TypeAnnotationConverter`1 converter) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 71
   at Microsoft.PythonTools.Parsing.Ast.TypeAnnotation.GetValue[T](TypeAnnotationConverter`1 converter) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Parsing\Ast\TypeAnnotation.cs:line 49
   at Microsoft.PythonTools.Interpreter.Ast.NameLookupContext.GetTypesFromAnnotation(Expression expr) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\NameLookupContext.cs:line 158
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalker.Walk() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalker.cs:line 68
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalkerSet.ProcessWalker(AstAnalysisFunctionWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalkerSet.cs:line 64
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisFunctionWalkerSet.ProcessSet() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisFunctionWalkerSet.cs:line 51
   at Microsoft.PythonTools.Interpreter.Ast.AstAnalysisWalker.Complete() in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstAnalysisWalker.cs:line 90
   at Microsoft.PythonTools.Interpreter.Ast.AstScrapedPythonModule.PostWalk(PythonWalker walker) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstScrapedPythonModule.cs:line 139
   at Microsoft.PythonTools.Interpreter.Ast.AstScrapedPythonModule.Imported(IModuleContext context) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstScrapedPythonModule.cs:line 251
   at Microsoft.PythonTools.Interpreter.Ast.AstPythonMultipleMembers.MultipleModuleMembers.Imported(IModuleContext context) in C:\Users\jabaile\python-language-server\src\Analysis\Engine\Impl\Interpreter\Ast\AstPythonMultipleMembers.cs:line 199<---

This causes a Debug.Fail in Analysis_UnhandledException.

Activity

  1. added a commit that references this issue on Jan 18, 2019
    7ec9561
  2. added 4 commits that reference this issue on Feb 6, 2019
    083666d
    b906ad8
    037d248
    75e14ab
  3. added 6 commits that reference this issue on Nov 1, 2019
    4449820
    70ac304
    ad10d69
    9b16373
    f3b34e3
    dbfc6e6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions