uber / NullAway

A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead
MIT License
3.62k stars 290 forks source link

An unhandled exception was thrown by the Error Prone static analysis plugin. #994

Closed michael-neuhold closed 2 months ago

michael-neuhold commented 2 months ago

error-prone version: 2.18.0 [ERROR] BugPattern: (see stack trace) [ERROR] Stack Trace: [ERROR] java.lang.NoClassDefFoundError: com/sun/tools/javac/code/TypeMetadata$Entry [ERROR] at com.uber.nullaway.NullAway.matchParameterizedType(NullAway.java:684) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:449) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitParameterizedType(ErrorProneScanner.java:783) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitParameterizedType(ErrorProneScanner.java:150) [ERROR] at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCTypeApply.accept(JCTree.java:2860) [ERROR] at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:96) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.visitMethod(TreeScanner.java:219) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:740) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitMethod(ErrorProneScanner.java:150) [ERROR] at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:948) [ERROR] at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:96) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:111) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:119) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:203) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:548) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitClass(ErrorProneScanner.java:150) [ERROR] at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:855) [ERROR] at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:74) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:48) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scan(TreeScanner.java:111) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:119) [ERROR] at jdk.compiler/com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:152) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:560) [ERROR] at com.google.errorprone.scanner.ErrorProneScanner.visitCompilationUnit(ErrorProneScanner.java:150) [ERROR] at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:623) [ERROR] at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:66) [ERROR] at com.google.errorprone.scanner.Scanner.scan(Scanner.java:58) [ERROR] at com.google.errorprone.scanner.ErrorProneScannerTransformer.apply(ErrorProneScannerTransformer.java:43) [ERROR] at com.google.errorprone.ErrorProneAnalyzer.finished(ErrorProneAnalyzer.java:156) [ERROR] at jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:133) [ERROR] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1443) [ERROR] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1390) [ERROR] at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:963) [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104) [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152) [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100) [ERROR] at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94) [ERROR] at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126) [ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:214) [ERROR] at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1228) [ERROR] at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:215) [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162) [ERROR] at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73) [ERROR] at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118) [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261) [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173) [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101) [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:903) [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:280) [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:203) [ERROR] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) [ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:580) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314) [ERROR] Caused by: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeMetadata$Entry [ERROR] at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) [ERROR] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) [ERROR] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) [ERROR] ... 73 more

msridhar commented 2 months ago

This should be fixed in more recent NullAway releases. Can you try updating?

michael-neuhold commented 2 months ago

Oh, you are totally right - overlooked that. Thanks!! Works now.