java.lang.NoSuchMethodError

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • For easier investigation, we reproduced our problem in the following minimal scenario: 1. We create a file main.c (attached to this report): int main() { return 0; } 2. We create a CppCheck report, cppcheck-result.xml, on main.c: cppcheck --xml main.c 2> cppcheck-result.xml Contents of cppcheck-result.xml (attached to this report): <?xml version="1.0" encoding="UTF-8"?> <results> </results> 3. We create a Jenking job for CppCheck. 4. We place cppcheck-result.xml (created in step 2) in the workspace of the Jenkins job. 5. In the Jenkins job configuration page: 5a. We specify no command for the build. 5b. We select "Publish Cppcheck results". 5c. In the box "Cppcheck report XMLs", we enter "**/cppcheck-result.xml". 5d. We leave the CppCheck plugin boxes "Use the workspace as root path to look for reports" and "Ignore blank files" unchecked. 5e. We do not touch the CppCheck plugin's "Advanced..." settings. 5f. We save the Jenkins job configuration. 6. We build manually the Jenking CppCheck job ("Build Now"). The build fails. The console output shows: [Cppcheck] Processing 1 files with the pattern '**/cppcheck-result.xml'. FATAL: java.io.IOException: method <init>(Ljava/lang/Throwable;)V not found java.lang.NoSuchMethodError: java.io.IOException: method <init>(Ljava/lang/Throwable;)V not found at org.jenkinsci.plugins.cppcheck.parser.CppcheckParser.parse(CppcheckParser.java:57) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:65) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:21) at hudson.FilePath.act(FilePath.java:758) at hudson.FilePath.act(FilePath.java:740) at org.jenkinsci.plugins.cppcheck.CppcheckPublisher.perform(CppcheckPublisher.java:62) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:682) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:657) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:635) at hudson.model.Build$RunnerImpl.post2(Build.java:161) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:604) at hudson.model.Run.run(Run.java:1400) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:175) 7. In the Jenkins job configuration page, we change the contents of the box "Cppcheck report XMLs" so it contains the absolute path to cppcheck-result.xml, and we save the Jenkins job configuration. 8. We build manually the Jenking CppCheck job ("Build Now"). The build fails again. The console output now shows a different error message: [Cppcheck] Starting the cppcheck analysis. [Cppcheck] Parsing throws exceptions. No cppcheck test report file(s) were found with the pattern '/absolute/path/to/cppcheck-result.xml' relative to '/absolute/path/to/workspace'. Did you enter a pattern relative to the correct directory? Did you generate the XML report(s) for Cppcheck? Build step 'Publish Cppcheck results' changed build result to FAILURE Build step 'Publish Cppcheck results' marked build as failure Finished: FAILURE What is wrong? Note that we are using the Cobertura Jenkins plugin (which also reads an XML input file), and it works perfectly. -- dave
    via by Dave Ohlsson,
  • For easier investigation, we reproduced our problem in the following minimal scenario: 1. We create a file main.c (attached to this report): int main() { return 0; } 2. We create a CppCheck report, cppcheck-result.xml, on main.c: cppcheck --xml main.c 2> cppcheck-result.xml Contents of cppcheck-result.xml (attached to this report): <?xml version="1.0" encoding="UTF-8"?> <results> </results> 3. We create a Jenking job for CppCheck. 4. We place cppcheck-result.xml (created in step 2) in the workspace of the Jenkins job. 5. In the Jenkins job configuration page: 5a. We specify no command for the build. 5b. We select "Publish Cppcheck results". 5c. In the box "Cppcheck report XMLs", we enter "**/cppcheck-result.xml". 5d. We leave the CppCheck plugin boxes "Use the workspace as root path to look for reports" and "Ignore blank files" unchecked. 5e. We do not touch the CppCheck plugin's "Advanced..." settings. 5f. We save the Jenkins job configuration. 6. We build manually the Jenking CppCheck job ("Build Now"). The build fails. The console output shows: [Cppcheck] Processing 1 files with the pattern '**/cppcheck-result.xml'. FATAL: java.io.IOException: method <init>(Ljava/lang/Throwable;)V not found java.lang.NoSuchMethodError: java.io.IOException: method <init>(Ljava/lang/Throwable;)V not found at org.jenkinsci.plugins.cppcheck.parser.CppcheckParser.parse(CppcheckParser.java:57) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:65) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:21) at hudson.FilePath.act(FilePath.java:758) at hudson.FilePath.act(FilePath.java:740) at org.jenkinsci.plugins.cppcheck.CppcheckPublisher.perform(CppcheckPublisher.java:62) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:682) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:657) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:635) at hudson.model.Build$RunnerImpl.post2(Build.java:161) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:604) at hudson.model.Run.run(Run.java:1400) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:175) 7. In the Jenkins job configuration page, we change the contents of the box "Cppcheck report XMLs" so it contains the absolute path to cppcheck-result.xml, and we save the Jenkins job configuration. 8. We build manually the Jenking CppCheck job ("Build Now"). The build fails again. The console output now shows a different error message: [Cppcheck] Starting the cppcheck analysis. [Cppcheck] Parsing throws exceptions. No cppcheck test report file(s) were found with the pattern '/absolute/path/to/cppcheck-result.xml' relative to '/absolute/path/to/workspace'. Did you enter a pattern relative to the correct directory? Did you generate the XML report(s) for Cppcheck? Build step 'Publish Cppcheck results' changed build result to FAILURE Build step 'Publish Cppcheck results' marked build as failure Finished: FAILURE What is wrong? Note that we are using the Cobertura Jenkins plugin (which also reads an XML input file), and it works perfectly. -- dave
    via by Dave Ohlsson,
    • java.lang.NoSuchMethodError: java.io.IOException: method <init>(Ljava/lang/Throwable;)V not found at org.jenkinsci.plugins.cppcheck.parser.CppcheckParser.parse(CppcheckParser.java:57) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:65) at org.jenkinsci.plugins.cppcheck.CppcheckParserResult.invoke(CppcheckParserResult.java:21) at hudson.FilePath.act(FilePath.java:758) at hudson.FilePath.act(FilePath.java:740) at org.jenkinsci.plugins.cppcheck.CppcheckPublisher.perform(CppcheckPublisher.java:62) at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36) at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:682) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:657) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildSteps(AbstractBuild.java:635) at hudson.model.Build$RunnerImpl.post2(Build.java:161) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:604) at hudson.model.Run.run(Run.java:1400) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:175)
    No Bugmate found.