Skip to content

Problem with CF gradle plugin and EISOP release #1003

@wmdietl

Description

@wmdietl

I do not understand why I need to use the currently-built artifacts... it used to work before this update.
However #967 fails and I can locally reproduce the failure.
The Out.txt file contains many errors like the following:

Note: Checker Framework 3.42.0-eisop4
error: SourceChecker.typeProcess: unexpected Throwable (NoSuchFieldError) while processing /home/wdietl/workspaces-server/eisop-cf/checker-framework/docs/examples/errorprone/src/main/java/com/example/Demo.java; message: Class org.checkerframework.framework.qual.TypeUseLocation does not have member field 'org.checkerframework.framework.qual.TypeUseLocation TYPE_VARIABLE_USE'
  ; The Checker Framework crashed.  Please report the crash.  Version: Checker Framework 3.42.0-eisop4.
  Checker: class org.checkerframework.checker.nullness.KeyForSubchecker
  Visitor: class org.checkerframework.common.basetype.BaseTypeVisitor
  Compilation unit: /home/wdietl/workspaces-server/eisop-cf/checker-framework/docs/examples/errorprone/src/main/java/com/example/Demo.java
  Last visited tree at line 5 column 1:
  public class Demo {
  Exception: java.lang.NoSuchFieldError: Class org.checkerframework.framework.qual.TypeUseLocation does not have member field 'org.checkerframework.framework.qual.TypeUseLocation TYPE_VARIABLE_USE'; java.lang.NoSuchFieldError: Class org.checkerframework.framework.qual.TypeUseLocation does not have member field 'org.checkerframework.framework.qual.TypeUseLocation TYPE_VARIABLE_USE'
        at org.checkerframework.framework.util.defaults.QualifierDefaults.applyDefaultsElement(QualifierDefaults.java:858)
        at org.checkerframework.framework.util.defaults.QualifierDefaults.applyDefaults(QualifierDefaults.java:597)
        at org.checkerframework.framework.util.defaults.QualifierDefaults.annotate(QualifierDefaults.java:485)
        at org.checkerframework.framework.type.GenericAnnotatedTypeFactory.addComputedTypeAnnotations(GenericAnnotatedTypeFactory.java:2097)
        at org.checkerframework.framework.type.AnnotatedTypeFactory.getAnnotatedType(AnnotatedTypeFactory.java:1502)
        at org.checkerframework.framework.flow.CFAbstractTransfer.getValueFromFactory(CFAbstractTransfer.java:215)
        at org.checkerframework.framework.flow.CFAbstractTransfer.visitNode(CFAbstractTransfer.java:562)
        at org.checkerframework.framework.flow.CFAbstractTransfer.visitNode(CFAbstractTransfer.java:97)
        at org.checkerframework.dataflow.cfg.node.AbstractNodeVisitor.visitMethodAccess(AbstractNodeVisitor.java:240)

The NoSuchFieldError could mean that the wrong checker-qual is used?
Maybe something about how the CF gradle plugin is used should be changed?

This PR allows us to upgrade and I'll turn this comment into a new issue to investigate further.

Originally posted by @wmdietl in #1000 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions