You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Checker Framework has crashed on a Gradle compilation on this project and branch when the Optional Checker is invoked.
I am not able to reproduce this error with the Nullness Checker.
Steps to Reproduce
Please run the following sequence of commands on your shell.
# Clone the repository and cd into it
git clone git@github.com:jyoo980/caffeine.git
cd caffeine
# Check out the branch with the `build.gradle.kts` changes required to invoke the CF's Optional Checker.
git checkout yoo/optional-checker
./gradlew --no-build-cache assemble
Output
The full log is available as a Gradle build scan here.
If the build scan is unavailable, the log is also available here.
But here is some output that might be useful:
error: DefaultTypeHierarchy: unexpected combination: |
-- | --
type: INT @MaybePresent int |
superType: ARRAY @MaybePresent Object @MaybePresent [] |
visitHistory = VisitHistory( {IPair(@MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>, @MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>, @MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Iterable<capture#01 extends K extends @MaybePresent Object>, @MaybePresent Iterable<? extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CompletableFuture<? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Function<capture#02 extends @MaybePresent Object super K extends @MaybePresent Object, capture#03 extends V extends @MaybePresent Object>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent BiFunction<capture#04 extends @MaybePresent Object super K extends @MaybePresent Object, capture#05 extends @MaybePresent Object super @OptionalBottom CompletableFuture<V extends @MaybePresent Object>, capture#06 extends @MaybePresent CompletableFuture<V extends @MaybePresent Object>>, @MaybePresent BiFunction<? extends @MaybePresent Object super K extends @MaybePresent Object, ? extends @MaybePresent Object super @MaybePresent CompletableFuture<V extends @MaybePresent Object>, ? extends @MaybePresent CompletableFuture<V extends @MaybePresent Object>>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Function<capture#07 extends @MaybePresent Object super @OptionalBottom Set<? extends K extends @MaybePresent Object>, capture#08 extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Function<? extends @MaybePresent Object super @MaybePresent Set<? extends K extends @MaybePresent Object>, ? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Consumer<capture#09 extends @MaybePresent Object super V extends @MaybePresent Object>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CacheLoader<capture#010 extends @MaybePresent Object super K extends @MaybePresent Object, V extends @MaybePresent Object>, @MaybePresent CacheLoader<capture#010 extends @MaybePresent Object super K extends @MaybePresent Object, V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent AsMapView<K extends @MaybePresent Object, V extends @MaybePresent Object>.@MaybePresent Values, @MaybePresent Collection<V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CompletableFuture<capture#011 extends @MaybePresent Object>, @MaybePresent CompletableFuture<? extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Ticker, @MaybePresent Ticker)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Ticker, @MaybePresent Ticker)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Object, capture#012 extends @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent BoundedLocalCache<capture#013 extends @MaybePresent Object, capture#014 extends @MaybePresent Object>, @MaybePresent BoundedLocalCache<? extends @MaybePresent Object, ? extends … |
; The Checker Framework crashed. Please report the crash. Version: Checker Framework 3.40.0. |
Compilation unit: /Users/yoo/workspace/sourcegraph-util/caffeine/caffeine/src/main/java/com/github/benmanes/caffeine/cache/BoundedLocalCache.java |
Last visited tree at line 4659 column 36: |
DRAIN_STATUS.setOpaque(this, drainStatus); |
Exception: java.lang.Throwable; java.lang.Throwable |
at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:22) |
at org.checkerframework.framework.type.visitor.AtmComboVisitor.defaultAction(AtmComboVisitor.java:58) |
at org.checkerframework.framework.type.visitor.AbstractAtmComboVisitor.visitPrimitive_Array(AbstractAtmComboVisitor.java:387) |
at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:504) |
at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:258) |
at org.checkerframework.framework.type.DefaultTypeHierarchy.isSubtype(DefaultTypeHierarchy.java:136) |
at org.checkerframework.common.basetype.BaseTypeVisitor.commonAssignmentCheck(BaseTypeVisitor.java:3055) |
at org.checkerframework.common.basetype.BaseTypeVisitor.checkVarargs(BaseTypeVisitor.java:1938) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethodInvocation(BaseTypeVisitor.java:1805) |
at org.checkerframework.checker.optional.OptionalVisitor.visitMethodInvocation(OptionalVisitor.java:323) |
at org.checkerframework.checker.optional.OptionalVisitor.visitMethodInvocation(OptionalVisitor.java:41) |
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1666) |
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82) |
at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:92) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:405) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.source.util.TreeScanner.visitExpressionStatement(TreeScanner.java:433) |
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1476) |
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82) |
at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:92) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:405) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105) |
at jdk.compiler/com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:248) |
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1048) |
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82) |
at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:92) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:405) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90) |
at jdk.compiler/com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:206) |
at org.checkerframework.framework.source.SourceVisitor.visitMethod(SourceVisitor.java:110) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:1043) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitMethod(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898) |
at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82) |
at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:92) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:405) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90) |
at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105) |
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113) |
at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187) |
at org.checkerframework.framework.source.SourceVisitor.visitClass(SourceVisitor.java:98) |
at org.checkerframework.common.basetype.BaseTypeVisitor.processClassTree(BaseTypeVisitor.java:612) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:558) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:186) |
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:82) |
at org.checkerframework.framework.source.SourceVisitor.scan(SourceVisitor.java:92) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:405) |
at org.checkerframework.common.basetype.BaseTypeVisitor.scan(BaseTypeVisitor.java:186) |
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90) |
at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:105) |
at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113) |
at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187) |
at org.checkerframework.framework.source.SourceVisitor.visitClass(SourceVisitor.java:98) |
at org.checkerframework.common.basetype.BaseTypeVisitor.processClassTree(BaseTypeVisitor.java:612) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:558) |
at org.checkerframework.common.basetype.BaseTypeVisitor.visitClass(BaseTypeVisitor.java:186) |
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:86) |
at org.checkerframework.framework.source.SourceChecker.typeProcess(SourceChecker.java:1046) |
at org.checkerframework.common.basetype.BaseTypeChecker.typeProcess(BaseTypeChecker.java:558) |
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:1414) |
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1361) |
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:960) |
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104) |
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:147) |
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100) |
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94) |
at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:92) |
at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:94) |
at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57) |
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:55) |
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39) |
at org.gradle.api.internal.tasks.compile.daemon.AbstractIsolatedCompilerWorkerExecutor$CompilerWorkAction.execute(AbstractIsolatedCompilerWorkerExecutor.java:78) |
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) |
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:54) |
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:48) |
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) |
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:48) |
at org.gradle.workers.internal.FlatClassLoaderWorker.run(FlatClassLoaderWorker.java:32) |
at org.gradle.workers.internal.FlatClassLoaderWorker.run(FlatClassLoaderWorker.java:22) |
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:96) |
at org.gradle.workers.internal.WorkerDaemonServer.run(WorkerDaemonServer.java:65) |
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:138) |
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41) |
at org.gradle.process.internal.worker.request.WorkerAction.lambda$run$0(WorkerAction.java:135) |
at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80) |
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:127) |
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) |
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) |
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) |
at java.base/java.lang.reflect.Method.invoke(Method.java:566) |
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) |
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) |
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182) |
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164) |
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414) |
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) |
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) |
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) |
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) |
at java.base/java.lang.Thread.run(Thread.java:829) |
error: DefaultTypeHierarchy: unexpected combination: |
type: LONG @MaybePresent long |
superType: ARRAY @MaybePresent Object @MaybePresent [] |
visitHistory = VisitHistory( {IPair(@MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>, @MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>, @MaybePresent AsyncLoadingCache<K1 extends K extends @MaybePresent Object, V1 extends V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Iterable<capture#01 extends K extends @MaybePresent Object>, @MaybePresent Iterable<? extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent BaseMpscLinkedArrayQueue<capture#0376 extends @MaybePresent Object>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CompletableFuture<? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CompletableFuture<? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CompletableFuture<? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Function<capture#02 extends @MaybePresent Object super K extends @MaybePresent Object, capture#03 extends V extends @MaybePresent Object>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent BiFunction<capture#04 extends @MaybePresent Object super K extends @MaybePresent Object, capture#05 extends @MaybePresent Object super @OptionalBottom CompletableFuture<V extends @MaybePresent Object>, capture#06 extends @MaybePresent CompletableFuture<V extends @MaybePresent Object>>, @MaybePresent BiFunction<? extends @MaybePresent Object super K extends @MaybePresent Object, ? extends @MaybePresent Object super @MaybePresent CompletableFuture<V extends @MaybePresent Object>, ? extends @MaybePresent CompletableFuture<V extends @MaybePresent Object>>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Function<capture#07 extends @MaybePresent Object super @OptionalBottom Set<? extends K extends @MaybePresent Object>, capture#08 extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>, @MaybePresent Function<? extends @MaybePresent Object super @MaybePresent Set<? extends K extends @MaybePresent Object>, ? extends @MaybePresent Map<? extends K extends @MaybePresent Object, ? extends V extends @MaybePresent Object>>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Consumer<capture#09 extends @MaybePresent Object super V extends @MaybePresent Object>, @MaybePresent Object)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent CacheLoader<capture#010 extends @MaybePresent Object super K extends @MaybePresent Object, V extends @MaybePresent Object>, @MaybePresent CacheLoader<capture#010 extends @MaybePresent Object super K extends @MaybePresent Object, V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Optional<@MaybePresent Duration>, @MaybePresent Optional<@MaybePresent Duration>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent AsMapView<K extends @MaybePresent Object, V extends @MaybePresent Object>.@MaybePresent Values, @MaybePresent Collection<V extends @MaybePresent Object>)=[@org.checkerframework.checker.optional.qual.MaybePresent], IPair(@MaybePresent Set<capture#0377 extends K extends @MaybePresent Object>, @OptionalBottom Set<? extends K exte… |
; The Checker Framework crashed. Please report the crash. Version: Checker Framework 3.40.0. |
Compilation unit: /Users/yoo/workspace/sourcegraph-util/caffeine/caffeine/src/main/java/com/github/benmanes/caffeine/cache/MpscGrowableArrayQueue.java |
Last visited tree at line 560 column 30: |
P_INDEX.setRelease(self, v); |
Exception: java.lang.Throwable; java.lang.Throwable |
at org.checkerframework.javacutil.BugInCF.<init>(BugInCF.java:22)
The text was updated successfully, but these errors were encountered:
If I use the latest release of the Checker Framework, I don't get these crashes. Can you confirm that these are fixed?
I do get the following errors:
> Task :caffeine:javadoc
javadoc: error - The code being documented uses modules but the packages defined in https://checkerframework.org/api/ are in the unnamed module.
javadoc: error - The code being documented uses modules but the packages defined in https://errorprone.info/api/latest/ are in the unnamed module.
2 errors
I was able to compile the project with 3.41.0 of the Checker Framework. I do not see the same crash as before, but the build appears to be failing at a Javadoc step with the error:
javadoc: error - Error fetching URL: https://checkerframework.org/api/
1 error
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':caffeine:javadoc'.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): '/Users/yoo/caffeine/caffeine/build/tmp/javadoc/javadoc.options'
Summary
The Checker Framework has crashed on a Gradle compilation on this project and branch when the Optional Checker is invoked.
I am not able to reproduce this error with the Nullness Checker.
Steps to Reproduce
Please run the following sequence of commands on your shell.
Output
The full log is available as a Gradle build scan here.
If the build scan is unavailable, the log is also available here.
But here is some output that might be useful:
The text was updated successfully, but these errors were encountered: