Skip to content

Analysis Server crash: UnimplementedError: GenericFunctionTypeImpl #29665

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
lukechurch opened this issue May 19, 2017 · 2 comments
Closed

Analysis Server crash: UnimplementedError: GenericFunctionTypeImpl #29665

lukechurch opened this issue May 19, 2017 · 2 comments
Labels
analyzer-stability legacy-area-analyzer Use area-devexp instead. P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)

Comments

@lukechurch
Copy link
Contributor

From DartPad v1.23.0

AnalysisException: Cannot compute DART_ERRORS for StringSource (/tmp/analyzertbIDHG/main.dart)
Caused by Unexpected exception while performing VerifyUnitTask for source /tmp/analyzertbIDHG/main.dart
#0      AnalysisTask._safelyPerform (package:analyzer/task/model.dart:333:7)
#1      AnalysisTask.perform (package:analyzer/task/model.dart:220:7)
#2      AnalysisDriver.performWorkItem (package:analyzer/src/task/driver.dart:284:10)
#3      AnalysisDriver.performAnalysisTask (package:analyzer/src/task/driver.dart:255:11)
#4      AnalysisContextImpl.performAnalysisTask.<anonymous closure> (package:analyzer/src/context/context.dart:1199:27)
#5      _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:189:15)
#6      AnalysisContextImpl.performAnalysisTask (package:analyzer/src/context/context.dart:1197:50)
#7      Analyzer._ensureAnalysisDone (package:services/src/analyzer.dart:204:24)
#8      Analyzer.analyzeMulti (package:services/src/analyzer.dart:138:7)
#9      Analyzer.analyze (package:services/src/analyzer.dart:118:12)
#10     testAnalysis (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:251:41)
<asynchronous suspension>
#11     testPath (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:190:39)
<asynchronous suspension>
#12     main (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:109:13)
<asynchronous suspension>
#13     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#14     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

Caused by UnimplementedError: GenericFunctionTypeImpl
#0      ErrorVerifier._checkForNotInstantiatedBound (package:analyzer/src/generated/error_verifier.dart:5343:7)
#1      ErrorVerifier.visitTypeParameter (package:analyzer/src/generated/error_verifier.dart:1227:5)
#2      TypeParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:10834:15)
#3      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8052:20)
#4      TypeParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10895:21)
#5      RecursiveAstVisitor.visitTypeParameterList (package:analyzer/dart/ast/visitor.dart:1218:10)
#6      ErrorVerifier.visitTypeParameterList (package:analyzer/src/generated/error_verifier.dart:1234:40)
#7      TypeParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10891:15)
#8      FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5358:22)
#9      RecursiveAstVisitor.visitFunctionExpression (package:analyzer/dart/ast/visitor.dart:869:10)
#10     ErrorVerifier.visitFunctionExpression (package:analyzer/src/generated/error_verifier.dart:814:43)
#11     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5354:15)
#12     FunctionDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5204:26)
#13     RecursiveAstVisitor.visitFunctionDeclaration (package:analyzer/dart/ast/visitor.dart:857:10)
#14     ErrorVerifier.visitFunctionDeclaration (package:analyzer/src/generated/error_verifier.dart:795:44)
#15     FunctionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:5197:15)
#16     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8052:20)
#17     CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2523:21)
#18     RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:707:10)
#19     ErrorVerifier.visitCompilationUnit (package:analyzer/src/generated/error_verifier.dart:569:38)
#20     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2516:15)
#21     VerifyUnitTask.internalPerform (package:analyzer/src/task/dart.dart:6335:10)
#22     AnalysisTask._safelyPerform (package:analyzer/task/model.dart:321:9)
#23     AnalysisTask.perform (package:analyzer/task/model.dart:220:7)
#24     AnalysisDriver.performWorkItem (package:analyzer/src/task/driver.dart:284:10)
#25     AnalysisDriver.performAnalysisTask (package:analyzer/src/task/driver.dart:255:11)
#26     AnalysisContextImpl.performAnalysisTask.<anonymous closure> (package:analyzer/src/context/context.dart:1199:27)
#27     _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:189:15)
#28     AnalysisContextImpl.performAnalysisTask (package:analyzer/src/context/context.dart:1197:50)
#29     Analyzer._ensureAnalysisDone (package:services/src/analyzer.dart:204:24)
#30     Analyzer.analyzeMulti (package:services/src/analyzer.dart:138:7)
#31     Analyzer.analyze (package:services/src/analyzer.dart:118:12)
#32     testAnalysis (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:251:41)
<asynchronous suspension>
#33     testPath (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:190:39)
<asynchronous suspension>
#34     main (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:109:13)
<asynchronous suspension>
#35     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#36     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)


#0      AnalysisContextImpl.computeResult (package:analyzer/src/context/context.dart:737:7)
#1      AnalysisContextImpl.computeErrors (package:analyzer/src/context/context.dart:674:12)
#2      Analyzer.analyzeMulti.<anonymous closure> (package:services/src/analyzer.dart:142:18)
#3      List.forEach (dart:core-patch/growable_array.dart:256)
#4      Analyzer.analyzeMulti (package:services/src/analyzer.dart:141:19)
#5      Analyzer.analyze (package:services/src/analyzer.dart:118:12)
#6      testAnalysis (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:251:41)
<asynchronous suspension>
#7      testPath (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:190:39)
<asynchronous suspension>
#8      main (file:///home/lukechurch/dart-services/tool/fuzz_driver.dart:109:13)
<asynchronous suspension>
#9      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#10     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)
@lukechurch lukechurch changed the title Analysis Server crash Analysis Server crash: UnimplementedError: GenericFunctionTypeImpl May 19, 2017
@bwilkerson bwilkerson added P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior) labels May 19, 2017
@bwilkerson
Copy link
Member

The current location of the exception is (package:analyzer/src/generated/error_verifier.dart:5316), and I expect that it's being caused by code similar to

class C <T extends int Function(int)> {}

@MichaelRFairhurst
Copy link
Contributor

Going to close this; couldn't repro.

Tried variations of the following:

class C<T extends int Function(int)> {}                                          
                                                                                 
main() {                                                                         
  new C<int Function(int Function(int))>();                                      
}       

Also, the method which is throwing not implemented was removed a few months ago, likely during the course of implementing generic function types or proper strong mode instantiation to bounds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzer-stability legacy-area-analyzer Use area-devexp instead. P2 A bug or feature request we're likely to work on type-bug Incorrect behavior (everything from a crash to more subtle misbehavior)
Projects
None yet
Development

No branches or pull requests

4 participants