Analysing .class files generated by the groovy compiler causes spotbugs to throw exceptions.
-
mvn clean verify -
Observe stack trace dumps to standard error
...
[INFO] >>> spotbugs-maven-plugin:4.7.1.1:check (default) > :spotbugs @ bug-repro-spotbugs >>>
[INFO]
[INFO] --- spotbugs-maven-plugin:4.7.1.1:spotbugs (spotbugs) @ bug-repro-spotbugs ---
[INFO] Fork Value is true
[java] The following errors occurred during analysis:
[java] Detector edu.umd.cs.findbugs.detect.FindSelfComparison2 caught exception
[java] edu.umd.cs.findbugs.ba.CFGBuilderException: Invalid stack at 20: dload[24](2) 4 when checking 25: putfield[181](3) 28
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.isPEI(BetterCFGBuilder2.java:1032)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:914)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:777)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:94)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:65)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:368)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:321)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysis(ClassContext.java:1010)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysisNoDataflowAnalysisException(ClassContext.java:995)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getCFG(ClassContext.java:301)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.analyzeMethod(FindSelfComparison2.java:99)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.visitClassContext(FindSelfComparison2.java:74)
[java] At edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
[java] At edu.umd.cs.findbugs.FindBugs2.lambda$analyzeApplication$1(FindBugs2.java:1108)
[java] At java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[java] At edu.umd.cs.findbugs.CurrentThreadExecutorService.execute(CurrentThreadExecutorService.java:86)
[java] At java.base/java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:242)
[java] At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1118)
[java] At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
[java] At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
[java] At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
[java] Error analyzing public void <init>(double field1)
[java] edu.umd.cs.findbugs.ba.CFGBuilderException: Invalid stack at 20: dload[24](2) 4 when checking 25: putfield[181](3) 28
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.isPEI(BetterCFGBuilder2.java:1032)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:914)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:777)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:94)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:65)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:368)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:321)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysis(ClassContext.java:1010)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysisNoDataflowAnalysisException(ClassContext.java:995)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getCFG(ClassContext.java:301)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.analyzeMethod(FindSelfComparison2.java:99)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.visitClassContext(FindSelfComparison2.java:74)
[java] At edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
[java] At edu.umd.cs.findbugs.FindBugs2.lambda$analyzeApplication$1(FindBugs2.java:1108)
[java] At java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[java] At edu.umd.cs.findbugs.CurrentThreadExecutorService.execute(CurrentThreadExecutorService.java:86)
[java] At java.base/java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:242)
[java] At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1118)
[java] At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
[java] At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
[java] At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
[java] Detector edu.umd.cs.findbugs.detect.FindUnrelatedTypesInGenericContainer caught exception while analyzing Class1.<init> : (D)V
[java] edu.umd.cs.findbugs.ba.CFGBuilderException: Invalid stack at 20: dload[24](2) 4 when checking 25: putfield[181](3) 28
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.isPEI(BetterCFGBuilder2.java:1032)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:914)
[java] At edu.umd.cs.findbugs.ba.BetterCFGBuilder2.build(BetterCFGBuilder2.java:777)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:94)
[java] At edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory.analyze(CFGFactory.java:65)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:368)
[java] At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:321)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysis(ClassContext.java:1010)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysisNoDataflowAnalysisException(ClassContext.java:995)
[java] At edu.umd.cs.findbugs.ba.ClassContext.getCFG(ClassContext.java:301)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.analyzeMethod(FindSelfComparison2.java:99)
[java] At edu.umd.cs.findbugs.detect.FindSelfComparison2.visitClassContext(FindSelfComparison2.java:74)
[java] At edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
[java] At edu.umd.cs.findbugs.FindBugs2.lambda$analyzeApplication$1(FindBugs2.java:1108)
[java] At java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[java] At edu.umd.cs.findbugs.CurrentThreadExecutorService.execute(CurrentThreadExecutorService.java:86)
[java] At java.base/java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:242)
[java] At edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1118)
[java] At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:309)
[java] At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:395)
[java] At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1231)
[INFO] Done SpotBugs Analysis....
[INFO]
[INFO] <<< spotbugs-maven-plugin:4.7.1.1:check (default) < :spotbugs @ bug-repro-spotbugs <<<
[INFO]
[INFO]
[INFO] --- spotbugs-maven-plugin:4.7.1.1:check (default) @ bug-repro-spotbugs ---
[INFO] BugInstance size is 0
[INFO] Error size is 0
[INFO] No errors/warnings found
...