Skip to content

Exception: org.checkerframework.javacutil.BugInCF: TreeUtils.elementFromTree: tree is null; #6970

@romani

Description

@romani

Version bump checkstyle/checkstyle#16274

Exception: https://github.com/checkstyle/checkstyle/actions/runs/13123144797/job/36613594179?pr=16274#step:6:1587

groovy ./.ci/checker-framework.groovy checker-nullness-optional-interning

check (nullness-optional-interning)
failed 2 hours ago in 26m 33s
1s

Warning:    ; The Checker Framework crashed.  Please report the crash.  Version: Checker Framework 3.49.0. 
  Compilation unit: /home/runner/work/checkstyle/checkstyle/src/main/java/com/puppycrawl/tools/checkstyle/site/SiteUtil.java
  Last visited tree at line 491 column 16:
          return getXdocsTemplatesFilePaths()
  Exception: org.checkerframework.javacutil.BugInCF: TreeUtils.elementFromTree: tree is null; org.checkerframework.javacutil.BugInCF: TreeUtils.elementFromTree: tree is null
  	at org.checkerframework.javacutil.TreeUtils.elementFromTree(TreeUtils.java:677)
  	at org.checkerframework.javacutil.TreeUtils.elementFromTree(TreeUtils.java:373)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.isReceiverParameterNonEmpty(OptionalImplTransfer.java:225)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.refineNonEmptyToPresentStreamResult(OptionalImplTransfer.java:184)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.visitMethodInvocation(OptionalImplTransfer.java:164)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.visitMethodInvocation(OptionalImplTransfer.java:48)
  	at org.checkerframework.dataflow.cfg.node.MethodInvocationNode.accept(MethodInvocationNode.java:154)
  	at org.checkerframework.dataflow.analysis.AbstractAnalysis.callTransferFunction(AbstractAnalysis.java:386)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.callTransferFunction(ForwardAnalysisImpl.java:377)
  	at org.checkerframework.framework.flow.CFAbstractAnalysis.callTransferFunction(CFAbstractAnalysis.java:242)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.performAnalysisBlock(ForwardAnalysisImpl.java:151)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.performAnalysis(ForwardAnalysisImpl.java:105)
  	at org.checkerframework.framework.flow.CFAbstractAnalysis.performAnalysis(CFAbstractAnalysis.java:151)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.analyze(GenericAnnotatedTypeFactory.java:[1586](https://github.com/checkstyle/checkstyle/actions/runs/13123144797/job/36613594179?pr=16274#step:6:1587))
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.performFlowAnalysis(GenericAnnotatedTypeFactory.java:1480)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.checkAndPerformFlowAnalysis(GenericAnnotatedTypeFactory.java:1989)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.preProcessClassTree(GenericAnnotatedTypeFactory.java:431)
  	at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:548)
  	at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:189)
  	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
  	at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
  	at org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:88)
  	at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1346)
  	at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1267)
  	at org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:188)
  	at jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:828)
  	at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1417)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1374)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:973)
  	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:311)
  	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
  	at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
  	at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
  Caused by: java.lang.Throwable
  	at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:26)
  	... 34 more
  
  Underlying Exception: java.lang.Throwable; java.lang.Throwable
  	at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:26)
  	at org.checkerframework.javacutil.TreeUtils.elementFromTree(TreeUtils.java:677)
  	at org.checkerframework.javacutil.TreeUtils.elementFromTree(TreeUtils.java:373)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.isReceiverParameterNonEmpty(OptionalImplTransfer.java:225)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.refineNonEmptyToPresentStreamResult(OptionalImplTransfer.java:184)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.visitMethodInvocation(OptionalImplTransfer.java:164)
  	at org.checkerframework.checker.optional.OptionalImplTransfer.visitMethodInvocation(OptionalImplTransfer.java:48)
  	at org.checkerframework.dataflow.cfg.node.MethodInvocationNode.accept(MethodInvocationNode.java:154)
  	at org.checkerframework.dataflow.analysis.AbstractAnalysis.callTransferFunction(AbstractAnalysis.java:386)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.callTransferFunction(ForwardAnalysisImpl.java:377)
  	at org.checkerframework.framework.flow.CFAbstractAnalysis.callTransferFunction(CFAbstractAnalysis.java:242)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.performAnalysisBlock(ForwardAnalysisImpl.java:151)
  	at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.performAnalysis(ForwardAnalysisImpl.java:105)
  	at org.checkerframework.framework.flow.CFAbstractAnalysis.performAnalysis(CFAbstractAnalysis.java:151)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.analyze(GenericAnnotatedTypeFactory.java:1586)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.performFlowAnalysis(GenericAnnotatedTypeFactory.java:1480)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.checkAndPerformFlowAnalysis(GenericAnnotatedTypeFactory.java:1989)
  	at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.preProcessClassTree(GenericAnnotatedTypeFactory.java:431)
  	at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:548)
  	at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:189)
  	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
  	at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
  	at org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:88)
  	at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1346)
  	at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1267)
  	at org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:188)
  	at jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:828)
  	at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1417)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1374)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:973)
  	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:311)
  	at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170)
  	at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57)
  	at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43)
/home/runner/work/checkstyle/checkstyle/src/main/java/com/puppycrawl/tools/checkstyle/utils/ScopeUtil.java:[75,26] [introduce.eliminate] It is bad style to create an Optional just to chain methods to get a non-optional value.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions