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

NoClassDefFoundError: org/checkerframework/shaded/dataflow/analysis/TransferFunction #1991

Closed
klappenbach opened this issue Dec 8, 2020 · 3 comments
Labels

Comments

@klappenbach
Copy link

java: An unhandled exception was thrown by the Error Prone static analysis plugin.
Searchrank.java:354:19

@java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE   // This is line 354
          ? new Builder() : new Builder().mergeFrom(this);
    }

For reference, DEFAULT_INSTANCE is (generated code from protobuf):

private static final com.spotify.searchrank.proto.Searchrank.ArtistCandidate DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.spotify.searchrank.proto.Searchrank.ArtistCandidate();
    }
 error-prone version: 2.4.0
 BugPattern: ReferenceEquality
 Stack Trace:
 java.lang.NoClassDefFoundError: org/checkerframework/shaded/dataflow/analysis/TransferFunction
at com.google.errorprone.VisitorState.getNullnessAnalysis(VisitorState.java:260)
at com.google.errorprone.bugpatterns.AbstractReferenceEquality.getNullness(AbstractReferenceEquality.java:186)
at com.google.errorprone.bugpatterns.AbstractReferenceEquality.addFixes(AbstractReferenceEquality.java:107)
at com.google.errorprone.bugpatterns.AbstractReferenceEquality.matchBinary(AbstractReferenceEquality.java:82)
at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:451)
at com.google.errorprone.scanner.ErrorProneScanner.visitBinary(ErrorProneScanner.java:514)
at com.google.errorprone.scanner.ErrorProneScanner.visitBinary(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCBinary.accept(JCTree.java:1993)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.visitConditionalExpression(TreeScanner.java:403)
at com.google.errorprone.scanner.ErrorProneScanner.visitConditionalExpression(ErrorProneScanner.java:585)
at com.google.errorprone.scanner.ErrorProneScanner.visitConditionalExpression(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCConditional.accept(JCTree.java:1391)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.visitReturn(TreeScanner.java:469)
at com.google.errorprone.scanner.ErrorProneScanner.visitReturn(ErrorProneScanner.java:819)
at com.google.errorprone.scanner.ErrorProneScanner.visitReturn(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCReturn.accept(JCTree.java:1548)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
at com.sun.source.util.TreeScanner.visitBlock(TreeScanner.java:248)
at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:522)
at com.google.errorprone.scanner.ErrorProneScanner.visitBlock(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1026)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
at com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:206)
at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:742)
at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:898)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:550)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:90)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:187)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:550)
at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:808)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48)
at com.sun.source.util.TreeScanner.scan(TreeScanner.java:105)
at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:113)
at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:144)
at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:562)
at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:152)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:591)
at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:56)
at com.google.errorprone.scanner.Scanner.scan(Scanner.java:58)
at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43)
at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:152)
at com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:120)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1404)
at com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1353)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:946)
at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100)
at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142)
at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)
at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:231)
at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:498)
at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:350)
at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:274)
at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:228)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1441)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1100)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1224)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1066)
at org.jetbrains.jps.incremental.IncProjectBuilder.access$1200(IncProjectBuilder.java:67)
at org.jetbrains.jps.incremental.IncProjectBuilder$BuildParallelizer$1.run(IncProjectBuilder.java:1006)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassNotFoundException: org.checkerframework.shaded.dataflow.analysis.TransferFunction
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 98 more

@jotaporras
Copy link

I'm having the same issue on IDEA Ultimate 2020.3, Build #IU-203.5981.155. Rolling back to the last two versions of the plugin (203.5981.155, 203.5981.114, 203.5981.41). didn't help.

@foxus
Copy link

foxus commented Jan 6, 2021

I'm having the same issue after upgrading to IntelliJ IDEA 2020.3.1 (Ultimate Edition), Build #IU-203.6682.168.

error-prone version: 2.4.0
BugPattern: ReferenceEquality
Stack Trace:
java.lang.NoClassDefFoundError: org/checkerframework/shaded/dataflow/analysis/TransferFunction
  	at com.google.errorprone.VisitorState.getNullnessAnalysis(VisitorState.java:260)

@cushon cushon added the intellij label Jan 6, 2021
@cushon cushon changed the title java: An unhandled exception was thrown by the Error Prone static analysis plugin. NoClassDefFoundError: org/checkerframework/shaded/dataflow/analysis/TransferFunction Jan 6, 2021
@cushon
Copy link
Collaborator

cushon commented Mar 13, 2021

Updating to the latest versions the IntelliJ plugin and Error Prone should resolve this.

java.lang.NoClassDefFoundError: org/checkerframework/shaded/dataflow/

Error Prone switched from depending on org.checkerframework:dataflow to org.checkerframework:dataflow-shaded in b81bf44.

Versions 203.7717.11 and newer of the IntelliJ plugin include the updated dependency.

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

No branches or pull requests

4 participants