Skip to content
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

NPE in ConstVariableElement.computeConstantValue(element.dart:1653) #47915

Open
scheglov opened this issue Dec 14, 2021 · 3 comments
Open

NPE in ConstVariableElement.computeConstantValue(element.dart:1653) #47915

scheglov opened this issue Dec 14, 2021 · 3 comments
Labels
analyzer-crash-report Issues which have been reported due to an analysis server crash area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P2 A bug or feature request we're likely to work on

Comments

@scheglov
Copy link
Contributor

I think this happens when a generic method is invoked, and we create synthetic ParameterElements, which don't have enclosingElement, so library is null.

Thread 0 main thread_CastError: Null check operator used on a null value
at ConstVariableElement.computeConstantValue(element.dart:1653)
at _Visitor.check(avoid_redundant_argument_values.dart:77)
at _Visitor.visitMethodInvocation(avoid_redundant_argument_values.dart:105)
at MethodInvocationImpl.accept(ast.dart:7311)
at LinterVisitor._runSubscriptions(linter_visitor.dart:764)
at LinterVisitor.visitMethodInvocation(linter_visitor.dart:488)
at MethodInvocationImpl.accept(ast.dart:7311)
at ExpressionStatementImpl.visitChildren(ast.dart:3689)
at RecursiveAstVisitor.visitExpressionStatement(visitor.dart:879)
at LinterVisitor.visitExpressionStatement(linter_visitor.dart:255)
at ExpressionStatementImpl.accept(ast.dart:3685)
at NodeListImpl.accept(ast.dart:7800)
at BlockImpl.visitChildren(ast.dart:1051)
at RecursiveAstVisitor.visitBlock(visitor.dart:705)
at LinterVisitor.visitBlock(linter_visitor.dart:81)
at BlockImpl.accept(ast.dart:1047)
at BlockFunctionBodyImpl.visitChildren(ast.dart:1006)
at RecursiveAstVisitor.visitBlockFunctionBody(visitor.dart:711)
at LinterVisitor.visitBlockFunctionBody(linter_visitor.dart:87)
at BlockFunctionBodyImpl.accept(ast.dart:1002)
at MethodDeclarationImpl.visitChildren(ast.dart:7173)
at RecursiveAstVisitor.visitMethodDeclaration(visitor.dart:1125)
at LinterVisitor.visitMethodDeclaration(linter_visitor.dart:483)
at MethodDeclarationImpl.accept(ast.dart:7164)
at NodeListImpl.accept(ast.dart:7800)
at ClassDeclarationImpl.visitChildren(ast.dart:1518)
at RecursiveAstVisitor.visitClassDeclaration(visitor.dart:741)
at LinterVisitor.visitClassDeclaration(linter_visitor.dart:117)
at ClassDeclarationImpl.accept(ast.dart:1488)
at NodeListImpl.accept(ast.dart:7800)
at CompilationUnitImpl.visitChildren(ast.dart:2092)
at RecursiveAstVisitor.visitCompilationUnit(visitor.dart:765)
at LinterVisitor.visitCompilationUnit(linter_visitor.dart:141)
at CompilationUnitImpl.accept(ast.dart:2085)
at LibraryAnalyzer._computeLints(library_analyzer.dart:443)
at LibraryAnalyzer.analyze(library_analyzer.dart:175)
at AnalysisDriver._computeAnalysisResult.<fn>(driver.dart:1455)
at PerformanceLog.run(performance_logger.dart:32)
at AnalysisDriver._computeAnalysisResult(driver.dart:1431)
at AnalysisDriver.performWork(driver.dart:1194)
at AnalysisDriverScheduler._run(driver.dart:2137)
@scheglov scheglov added area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P2 A bug or feature request we're likely to work on analyzer-crash-report Issues which have been reported due to an analysis server crash labels Dec 14, 2021
@scheglov
Copy link
Contributor Author

OTOH, I was not able to reproduce it, so https://dart-review.googlesource.com/c/sdk/+/223743

copybara-service bot pushed a commit that referenced this issue Dec 14, 2021
Bug: #47915
Change-Id: I726bc85a9459acbb4f6d94b9112bc808d7666a53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/223743
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
copybara-service bot pushed a commit that referenced this issue May 1, 2023
…eters that are not allowed to have default values.

Bug: #47915
Change-Id: I708775ca29bf9efdfdf798eb4b622f1308f2b00c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/300140
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
@scheglov scheglov self-assigned this May 11, 2023
@scheglov
Copy link
Contributor Author

It does not happen with latest build if Dart SDK, so I conclude that the issue was fixed.

@bwilkerson
Copy link
Member

This is still being reported, with the extra data added in the CL referenced above:

Thread 0 [MAIN THREAD]
StateError: Bad state: [library: null][this: (DefaultParameterElementImpl) {TextStyle? textStyle}][enclosingElement: null][reference: null]
  at ConstVariableElement.computeConstantValue	(element.dart:1306)
  at _Visitor.checkArgument	(avoid_redundant_argument_values.dart:104)
  at _Visitor.check	(avoid_redundant_argument_values.dart:88)
  at _Visitor.visitFunctionExpressionInvocation	(avoid_redundant_argument_values.dart:125)
  at FunctionExpressionInvocationImpl.accept	(ast.dart:8639)
  at LinterVisitor._runSubscriptions	(linter_visitor.dart:1058)
  at LinterVisitor.visitFunctionExpressionInvocation	(linter_visitor.dart:424)
  at FunctionExpressionInvocationImpl.accept	(ast.dart:8639)
  at NamedExpressionImpl.visitChildren	(ast.dart:12623)
  at LinterVisitor.visitNamedExpression	(linter_visitor.dart:635)
  at NamedExpressionImpl.accept	(ast.dart:12613)
  at NodeListImpl.accept	(ast.dart:13037)
  at ArgumentListImpl.visitChildren	(ast.dart:511)
  at LinterVisitor.visitArgumentList	(linter_visitor.dart:41)
  at ArgumentListImpl.accept	(ast.dart:507)
  at InstanceCreationExpressionImpl.visitChildren	(ast.dart:10512)
  at LinterVisitor.visitInstanceCreationExpression	(linter_visitor.dart:515)
  at InstanceCreationExpressionImpl.accept	(ast.dart:10501)
  at NamedExpressionImpl.visitChildren	(ast.dart:12623)
  at LinterVisitor.visitNamedExpression	(linter_visitor.dart:635)
  at NamedExpressionImpl.accept	(ast.dart:12613)
  at NodeListImpl.accept	(ast.dart:13037)
  at ArgumentListImpl.visitChildren	(ast.dart:511)
  at LinterVisitor.visitArgumentList	(linter_visitor.dart:41)
  at ArgumentListImpl.accept	(ast.dart:507)
  at InstanceCreationExpressionImpl.visitChildren	(ast.dart:10512)
  at LinterVisitor.visitInstanceCreationExpression	(linter_visitor.dart:515)
  at InstanceCreationExpressionImpl.accept	(ast.dart:10501)
  at ReturnStatementImpl.visitChildren	(ast.dart:15701)
  at LinterVisitor.visitReturnStatement	(linter_visitor.dart:844)
  at ReturnStatementImpl.accept	(ast.dart:15697)
  at NodeListImpl.accept	(ast.dart:13037)
  at BlockImpl.visitChildren	(ast.dart:1980)
  at LinterVisitor.visitBlock	(linter_visitor.dart:95)
  at BlockImpl.accept	(ast.dart:1976)
  at BlockFunctionBodyImpl.visitChildren	(ast.dart:1931)
  at LinterVisitor.visitBlockFunctionBody	(linter_visitor.dart:101)
  at BlockFunctionBodyImpl.accept	(ast.dart:1923)
  at FunctionExpressionImpl.visitChildren	(ast.dart:8560)
  at LinterVisitor.visitFunctionExpression	(linter_visitor.dart:419)
  at FunctionExpressionImpl.accept	(ast.dart:8549)
  at FunctionDeclarationImpl.visitChildren	(ast.dart:8394)
  at LinterVisitor.visitFunctionDeclaration	(linter_visitor.dart:407)
  at FunctionDeclarationImpl.accept	(ast.dart:8388)
  at NodeListImpl.accept	(ast.dart:13037)
  at CompilationUnitImpl.visitChildren	(ast.dart:3662)
  at LinterVisitor.visitCompilationUnit	(linter_visitor.dart:173)
  at CompilationUnitImpl.accept	(ast.dart:3655)
  at LibraryAnalyzer._computeLints	(library_analyzer.dart:362)
  at LibraryAnalyzer._computeDiagnostics	(library_analyzer.dart:304)
  at LibraryAnalyzer.analyze	(library_analyzer.dart:97)
  at AnalysisDriver._computeAnalysisResult.<fn>	(driver.dart:1371)
  at <asynchronous gap>	(async)
  at PerformanceLog.runAsync	(performance_logger.dart:50)
  at <asynchronous gap>	(async)
  at AnalysisDriver.performWork	(driver.dart:1194)
  at <asynchronous gap>	(async)
  at AnalysisDriverScheduler._run	(driver.dart:2262)

@bwilkerson bwilkerson reopened this Mar 13, 2024
@scheglov scheglov removed their assignment Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analyzer-crash-report Issues which have been reported due to an analysis server crash area-analyzer Use area-analyzer for Dart analyzer issues, including the analysis server and code completion. P2 A bug or feature request we're likely to work on
Projects
None yet
Development

No branches or pull requests

2 participants