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

Problem with CF gradle plugin and EISOP release #1003

Closed
wmdietl opened this issue Nov 23, 2024 · 3 comments · Fixed by #1046
Closed

Problem with CF gradle plugin and EISOP release #1003

wmdietl opened this issue Nov 23, 2024 · 3 comments · Fixed by #1046

Comments

@wmdietl
Copy link
Member

wmdietl commented Nov 23, 2024

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)

@wadoon
Copy link

wadoon commented Dec 1, 2024

I can confirm the error. It just appeared on our dependabot PR: https://github.com/KeYProject/key/actions/runs/12108664417/job/33756925573?pr=3530

@wadoon
Copy link

wadoon commented Jan 2, 2025

Dependabot bumped an update, we (KeY) get this error also with version 3.42.0-eisop5.

error: SourceChecker.typeProcess: unexpected Throwable (NoSuchFieldError) while processing /home/runner/work/key/key/key.util/src/main/java/org/key_project/util/Strings.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-eisop5. 
  Checker: class org.checkerframework.checker.nullness.KeyForSubchecker
  Visitor: class org.checkerframework.common.basetype.BaseTypeVisitor
  Compilation unit: /home/runner/work/key/key/key.util/src/main/java/org/key_project/util/Strings.java
  Last visited tree at line 21 column 1:
  public class Strings {

https://github.com/KeYProject/key/actions/runs/12574057207/job/35047697943?pr=3534

@wmdietl
Copy link
Member Author

wmdietl commented Jan 5, 2025

@wadoon Thanks for confirming that this is an issue and sorry that I didn't get to look into this sooner.
#1046 should fix the issue by adding an additional dependency.
I also opened KeYProject/key#3535 to do that for KeY.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants