Spotbugs: Need both of IO.close(Closeable) and IO.close(AutoCloseable)

Created on 12 Jun 2018  路  3Comments  路  Source: spotbugs/spotbugs

5f8879483e685b6f0db816486da10fa97b4b3f6f removes IO.close(Closeable) so some user codes face problem. For example, sonar-findbugs cannot pass unit test:

Test set: org.sonar.plugins.findbugs.FindbugsExecutorTest
-------------------------------------------------------------------------------
Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 2.338 s <<< FAIL
URE! - in org.sonar.plugins.findbugs.FindbugsExecutorTest
canGenerateXMLReport(org.sonar.plugins.findbugs.FindbugsExecutorTest)  Time elap
sed: 1.477 s  <<< ERROR!
java.lang.IllegalStateException: Can not execute Findbugs
        at org.sonar.plugins.findbugs.FindbugsExecutorTest.canGenerateXMLReport(FindbugsExecutorTest.java:75)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: edu.umd.cs.findbugs.io.IO.close(Ljava/io/Closeable;)V
        at org.sonar.plugins.findbugs.FindbugsExecutorTest.canGenerateXMLReport(FindbugsExecutorTest.java:75)
Caused by: java.lang.NoSuchMethodError: edu.umd.cs.findbugs.io.IO.close(Ljava/io/Closeable;)V

canGenerateXMLReportWithCustomConfidence(org.sonar.plugins.findbugs.FindbugsExecutorTest)  Time elapsed: 0.624 s  <<< ERROR!
java.lang.IllegalStateException: Can not execute Findbugs
        at org.sonar.plugins.findbugs.FindbugsExecutorTest.canGenerateXMLReportWithCustomConfidence(FindbugsExecutorTest.java:92)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class com.h3xstream.findsecbugs.taintanalysis.TaintAnalysis
        at org.sonar.plugins.findbugs.FindbugsExecutorTest.canGenerateXMLReportWithCustomConfidence(FindbugsExecutorTest.java:92)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.h3xstream.findsecbugs.taintanalysis.TaintAnalysis
bug

Most helpful comment

Let's release 3.1.5, to treat 3.1.4 as yanked version.

All 3 comments

Got [I think] related error with execution of findsecbugs (after just upgrading SB 3.1.3->3.1.4):

[java] Exception in thread "main" java.lang.NoSuchMethodError: edu.umd.cs.findbugs.io.IO.close(Ljava/io/Closeable;)V
[java] at com.h3xstream.findsecbugs.taintanalysis.TaintAnalysis.loadFileContent(TaintAnalysis.java:274)
[java] at com.h3xstream.findsecbugs.taintanalysis.TaintAnalysis.(TaintAnalysis.java:57)
[java] at com.h3xstream.findsecbugs.taintanalysis.TaintDataflowEngine.analyze(TaintDataflowEngine.java:168)
[java] at com.h3xstream.findsecbugs.taintanalysis.TaintDataflowEngine.analyze(TaintDataflowEngine.java:52)
[java] at edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:369)
[java] at edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:322)
[java] at com.h3xstream.findsecbugs.injection.AbstractTaintDetector.getTaintDataFlow(AbstractTaintDetector.java:123)
[java] at com.h3xstream.findsecbugs.injection.AbstractTaintDetector.analyzeMethod(AbstractTaintDetector.java:91)
[java] at com.h3xstream.findsecbugs.injection.AbstractTaintDetector.visitClassContext(AbstractTaintDetector.java:76)
[java] at edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
[java] at edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1080)
[java] at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:281)
[java] at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:401)
[java] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1185)

(Also bisected to changes of 5f8879483e685b6f0db816486da10fa97b4b3f6f).

@KengoTODA Will there be a patch to 3.1.4? Tests on the maven plugin due to findsecbugs trips on this too.

Let's release 3.1.5, to treat 3.1.4 as yanked version.

Was this page helpful?
0 / 5 - 0 ratings