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

Checker crash with latest sources (6/27/23) #6060

Closed
markro49 opened this issue Jun 28, 2023 · 1 comment · Fixed by #6066
Closed

Checker crash with latest sources (6/27/23) #6060

markro49 opened this issue Jun 28, 2023 · 1 comment · Fixed by #6066
Assignees
Labels

Comments

@markro49
Copy link
Contributor

markro49 commented Jun 28, 2023

Using the test branch of https://github.com/markro49/jOOQ/. Builds with 3.35.0 fine (there are many checker warnings).
command:
(cd to jOOQ subdirectory)
mvn -V -B -e clean compile -Dcheckerframework.checkers=org.checkerframework.checker.signedness.SignednessChecker -Dcheckerframework.suppress="type.anno.before"

But if build with current checked sources (as of 6/27/23) gets following error:
[WARNING] ; The Checker Framework crashed. Please report the crash.
Compilation unit: /home/markro/myjooq/jOOQ/src/main/java/org/jooq/ResultQuery.java
Last visited tree at line 145 column 1:
public interface ResultQuery extends Fields, Query, Iterable, Publisher {
Exception: org.checkerframework.javacutil.BugInCF: Enclosing type not found Iterable ResultQuery; org.checkerframework.javacutil.BugInCF: Enclosing type not found Iterable ResultQuery
at org.checkerframework.framework.util.AnnotatedTypes.asOuterSuper(AnnotatedTypes.java:281)
at org.checkerframework.framework.util.AnnotatedTypes.addTypeVarMappings(AnnotatedTypes.java:561)
at org.checkerframework.framework.util.AnnotatedTypes.substituteTypeVariables(AnnotatedTypes.java:534)
at org.checkerframework.framework.util.AnnotatedTypes.asMemberOfImpl(AnnotatedTypes.java:457)
at org.checkerframework.framework.util.AnnotatedTypes.asMemberOf(AnnotatedTypes.java:386)
at org.checkerframework.framework.util.AnnotatedTypes.asMemberOf(AnnotatedTypes.java:350)
at org.checkerframework.framework.type.TypeFromExpressionVisitor.visitMemberSelect(TypeFromExpressionVisitor.java:268)
at org.checkerframework.framework.type.TypeFromExpressionVisitor.visitMemberSelect(TypeFromExpressionVisitor.java:76)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2458)
at jdk.compiler/com.sun.source.util.SimpleTreeVisitor.visit(SimpleTreeVisitor.java:81)
at org.checkerframework.framework.type.TypeFromTree.fromExpression(TypeFromTree.java:40)
at org.checkerframework.framework.type.AnnotatedTypeFactory.fromExpression(AnnotatedTypeFactory.java:1682)
at org.checkerframework.framework.type.AnnotatedTypeFactory.getAnnotatedType(AnnotatedTypeFactory.java:1352)
at org.checkerframework.framework.flow.CFAbstractTransfer.getValueFromFactory(CFAbstractTransfer.java:211)
at org.checkerframework.framework.flow.CFAbstractTransfer.visitFieldAccess(CFAbstractTransfer.java:606)
at org.checkerframework.common.value.ValueTransfer.visitFieldAccess(ValueTransfer.java:471)
at org.checkerframework.common.value.ValueTransfer.visitFieldAccess(ValueTransfer.java:73)
at org.checkerframework.dataflow.cfg.node.FieldAccessNode.accept(FieldAccessNode.java:85)
at org.checkerframework.dataflow.analysis.AbstractAnalysis.callTransferFunction(AbstractAnalysis.java:349)
at org.checkerframework.dataflow.analysis.ForwardAnalysisImpl.callTransferFunction(ForwardAnalysisImpl.java:377)
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:147)
at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.analyze(GenericAnnotatedTypeFactory.java:1544)
at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.performFlowAnalysis(GenericAnnotatedTypeFactory.java:1444)
at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.checkAndPerformFlowAnalysis(GenericAnnotatedTypeFactory.java:1933)
at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.preProcessClassTree(GenericAnnotatedTypeFactory.java:423)
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:536)
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:184)
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:860)
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:60)
at org.checkerframework.framework.source.SourceVisitor.visit(SourceVisitor.java:86)
at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1043)
at org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:558)
at org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:551)
at org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:188)
at jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:854)
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:1394)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1351)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:946)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:317)
at jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:176)
at jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:64)
at jdk.compiler/com.sun.tools.javac.Main.main(Main.java:50)
Caused by: java.lang.Throwable
at org.checkerframework.javacutil.BugInCF.(BugInCF.java:34)
... 45 more

@smillst
Copy link
Member

smillst commented Jun 28, 2023

Here's a test case.

import java.util.Spliterator;

public interface Issue6060<R> extends Iterable<R> {
  default Spliterator<R> spliterator() {
    return Iterable.super.spliterator();
  }
}

@smillst smillst self-assigned this Jun 28, 2023
@smillst smillst added the crash label Jun 29, 2023
smillst added a commit that referenced this issue Jul 3, 2023
wmdietl pushed a commit to eisop/checker-framework that referenced this issue Oct 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants