I don't remember exactly. But nothing special just navigating through the code.
The analyzer was launched with the arguments:
--client-id=DanTup.dart-code
--client-version=1.4.2
Analysis failed: /home/dmitryivanov/Repositories/workspace/assets/lib/component/view/dashboards/widget_config_form_loader.dart context: exception_20170626_200534_777
NoSuchMethodError: The getter 'type' was called on null.
Receiver: null
Tried calling: type
#0 Object._noSuchMethod (dart:core-patch/object_patch.dart:43)
#1 Object.noSuchMethod (dart:core-patch/object_patch.dart:47)
#2 ElementResolver.visitMethodInvocation (package:analyzer/src/generated/element_resolver.dart:632)
#3 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7657)
#4 ResolverVisitor.visitMethodInvocation (package:analyzer/src/generated/resolver.dart:6224)
#5 MethodInvocationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7657)
#6 AwaitExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1091)
#7 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6239)
#8 UnifyingAstVisitor.visitAwaitExpression (package:analyzer/dart/ast/visitor.dart:2913)
#9 ResolverVisitor.visitAwaitExpression (package:analyzer/src/generated/resolver.dart:5471)
#10 AwaitExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:1087)
#11 ExpressionStatementImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4261)
#12 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6239)
#13 UnifyingAstVisitor.visitExpressionStatement (package:analyzer/dart/ast/visitor.dart:3005)
#14 ExpressionStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:4257)
#15 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8052)
#16 BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1358)
#17 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6239)
#18 UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:2919)
#19 ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:7258)
#20 BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1354)
#21 BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1302)
#22 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6239)
#23 UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:2922)
#24 ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:7270)
#25 ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:5542)
#26 BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1298)
#27 MethodDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:7544)
#28 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:6239)
#29 UnifyingAstVisitor.visitMethodDeclaration (package:analyzer/dart/ast/visitor.dart:3106)
#30 ScopedVisitor.visitMethodDeclarationInScope (package:analyzer/src/generated/resolver.dart:7728)
#31 ResolverVisitor.visitMethodDeclarationInScope (package:analyzer/src/generated/resolver.dart:6212)
#32 ScopedVisitor.visitMethodDeclaration (package:analyzer/src/generated/resolver.dart:7720)
#33 ResolverVisitor.visitMethodDeclaration (package:analyzer/src/generated/resolver.dart:6202)
#34 MethodDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:7535)
#35 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8052)
#36 ScopedVisitor.visitClassMembersInScope (package:analyzer/src/generated/resolver.dart:7340)
#37 ScopedVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:7317)
#38 ResolverVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:5581)
#39 ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1923)
#40 ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:5647)
#41 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2516)
#42 LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:551)
#43 LibraryAnalyzer.analyze.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:89)
#44 _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:356)
#45 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:88)
#46 AnalysisDriver._computeAnalysisResult.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:999)
#47 PerformanceLog.run (package:front_end/src/base/performace_logger.dart:34)
#48 AnalysisDriver._computeAnalysisResult (package:analyzer/src/dart/analysis/driver.dart:987)
#49 AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:854)
<asynchronous suspension>
#50 AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:1538)
<asynchronous suspension>
#51 AnalysisDriverScheduler.start (package:analyzer/src/dart/analysis/driver.dart:1481)
#52 new AnalysisServer (package:analysis_server/src/analysis_server.dart:458)
#53 SocketServer.createAnalysisServer (package:analysis_server/src/socket_server.dart:89)
#54 StdioAnalysisServer.serveStdio (package:analysis_server/src/server/stdio_server.dart:37)
#55 Driver.start.<anonymous closure> (package:analysis_server/src/server/driver.dart:474)
#56 _rootRun (dart:async/zone.dart:1120)
#57 _CustomZone.run (dart:async/zone.dart:1001)
#58 runZoned (dart:async/zone.dart:1467)
#59 Driver._captureExceptions (package:analysis_server/src/server/driver.dart:513)
#60 Driver.start (package:analysis_server/src/server/driver.dart:473)
#61 main (file:///tmp/tmpQBb3JT/dart-1.24.1/dart/pkg/analysis_server/bin/server.dart:12)
#62 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#63 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
@scheglov The code from which the exception is being thrown is definitely strange:
FunctionElement loadLibraryFunction = importedLibrary?.loadLibraryFunction;
methodName.staticElement = loadLibraryFunction;
node.staticInvokeType = loadLibraryFunction.type; // <-- Exception
While it would be trivial to guard against the exception, I don't understand why the loadLibraryFunction would ever be null. I thought it would have been created when we saw that the imported library was deferred. Am I missing something, or is the absence of the element the real bug here?
@Lisenish Could you please go to ~/.dartServer/.analysis-driver, archive all exception* files and send the archive to me ([email protected])? These crash logs contain content of all files related to the analysis which caused an exception. This should allow us to reproduce and fix the problem.
OK, I reproduced it.
You need to have a deferred import with invalid URI.