Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-22293

java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init>

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • rake-plugin
    • None
    • Ubuntu 12.04 LTS, Jenkins 1.555, ruby RVM installation

      i have 2 jobs for rails projects on my jenkins installation, they work fine (testcases and coverage), now i wanted to include the "Publish Rake Stats" and the "Publish Rake Notes" from the rake plugin.

      i selected the corresponding RVM runtime for the project and tried to save the config, but it failed.

      if you need additional information, just ask,

      Thanks


      Stack trace

      javax.servlet.ServletException: java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:79)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:701)
      Caused by: java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
      at hudson.plugins.rubyMetrics.AbstractRailsTaskPublisher.<init>(AbstractRailsTaskPublisher.java:25)
      at hudson.plugins.rubyMetrics.railsNotes.RailsNotesPublisher.<init>(RailsNotesPublisher.java:32)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:534)
      at org.kohsuke.stapler.RequestImpl.invokeConstructor(RequestImpl.java:447)
      at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:690)
      at org.kohsuke.stapler.RequestImpl.access$100(RequestImpl.java:81)
      at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:587)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
      at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:396)
      at hudson.model.Descriptor.newInstance(Descriptor.java:567)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:914)
      at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:899)
      at hudson.util.DescribableList.rebuildHetero(DescribableList.java:203)
      at hudson.model.Project.submit(Project.java:208)
      at hudson.model.Job.doConfigSubmit(Job.java:1136)
      at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:786)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:622)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      ... 63 more

          [JENKINS-22293] java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init>

          Same issue here, downgrading from 1.8.0 to 1.7.8 resolves the problem.

          Felix Buenemann added a comment - Same issue here, downgrading from 1.8.0 to 1.7.8 resolves the problem.

          Felix Buenemann added a comment - - edited

          I think the problem is, that the bundle exec support in 1.8.0 adds a seventh argument to the Rake class constructor, while some existing code still uses only 7 arguments, as can be seen from the backtrace.

          I also noticed that the bundle exec option is missing from the selection in the post build reports that use rake (Publish Rails Notes report and Publish Rails stats report). Those reports are provided by the Ruby Metrics Plugin, which hasn't been updated in ages.

          Felix Buenemann added a comment - - edited I think the problem is, that the bundle exec support in 1.8.0 adds a seventh argument to the Rake class constructor, while some existing code still uses only 7 arguments, as can be seen from the backtrace. I also noticed that the bundle exec option is missing from the selection in the post build reports that use rake (Publish Rails Notes report and Publish Rails stats report). Those reports are provided by the Ruby Metrics Plugin, which hasn't been updated in ages.

          Cheng Jing added a comment -

          Exactly same issue here, on Mar 18, 2014.

          After upgrading from 1.7.8 to 1.8.0, post-build action "Publish Rails Notes report" from Ruby Metrics plugin is broken, with exact exception message.
          What is different from Felix is that, "Publish Rails status report" is fine.

          Two Jenkins servers with 1.528.

          Cheng Jing added a comment - Exactly same issue here, on Mar 18, 2014. After upgrading from 1.7.8 to 1.8.0, post-build action "Publish Rails Notes report" from Ruby Metrics plugin is broken, with exact exception message. What is different from Felix is that, "Publish Rails status report" is fine. Two Jenkins servers with 1.528.

          Felix Buenemann added a comment - - edited

          I solved the problem by patching the Ruby Metric plugin, I'll make a PR on Github once I've had time to clean it up (currently it simply forces bundle exec instead of providing a config option). The crude patch can be found at: https://gist.github.com/felixbuenemann/10261743

          Felix Buenemann added a comment - - edited I solved the problem by patching the Ruby Metric plugin, I'll make a PR on Github once I've had time to clean it up (currently it simply forces bundle exec instead of providing a config option). The crude patch can be found at: https://gist.github.com/felixbuenemann/10261743

          I created a pull request based on @Felix patch: https://github.com/jenkinsci/rubymetrics-plugin/pull/18

          Piotr Kuczynski added a comment - I created a pull request based on @Felix patch: https://github.com/jenkinsci/rubymetrics-plugin/pull/18

          Thanks Piotr, totally forgot to make a PR for this.

          Felix Buenemann added a comment - Thanks Piotr, totally forgot to make a PR for this.

          Sure, no problem. The build is failing due the fact that this plugin is very old and depends on an outdated version of Jenkins. I am working on making an upgrade right now and will send a pull request shortly

          Piotr Kuczynski added a comment - Sure, no problem. The build is failing due the fact that this plugin is very old and depends on an outdated version of Jenkins. I am working on making an upgrade right now and will send a pull request shortly

          Code changed in jenkins
          User: Piotr Kuczynski
          Path:
          pom.xml
          src/main/java/hudson/plugins/rubyMetrics/AbstractRailsTaskPublisher.java
          http://jenkins-ci.org/commit/rubymetrics-plugin/0c1101004ec64d9f20e146993af3ccedb1897362
          Log:
          JENKINS-22293
          java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init>

          Problem fixed based on gist from @felixbuenemann: https://gist.github.com/felixbuenemann/10261743

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Piotr Kuczynski Path: pom.xml src/main/java/hudson/plugins/rubyMetrics/AbstractRailsTaskPublisher.java http://jenkins-ci.org/commit/rubymetrics-plugin/0c1101004ec64d9f20e146993af3ccedb1897362 Log: JENKINS-22293 java.lang.NoSuchMethodError: hudson.plugins.rake.Rake.<init> Problem fixed based on gist from @felixbuenemann: https://gist.github.com/felixbuenemann/10261743

          Code changed in jenkins
          User: Piotr Kuczynski
          Path:
          .gitignore
          pom.xml
          src/main/java/hudson/plugins/rubyMetrics/AbstractRailsTaskPublisher.java
          src/main/java/hudson/plugins/rubyMetrics/flog/FlogExecutor.java
          src/main/java/hudson/plugins/rubyMetrics/flog/FlogParser.java
          src/main/java/hudson/plugins/rubyMetrics/flog/FlogPublisher.java
          src/main/java/hudson/plugins/rubyMetrics/railsNotes/RailsNotesParser.java
          src/main/java/hudson/plugins/rubyMetrics/railsNotes/RailsNotesPublisher.java
          src/main/java/hudson/plugins/rubyMetrics/railsStats/RailsStatsParser.java
          src/main/java/hudson/plugins/rubyMetrics/railsStats/RailsStatsPublisher.java
          src/main/ruby/templates/rails_task_publisher.eruby
          src/test/java/hudson/plugins/rubyMetrics/flog/FlogExecutorTest.java
          http://jenkins-ci.org/commit/rubymetrics-plugin/703b75159d5194a3a1aec39a4beec15bd67af073
          Log:
          Merge pull request #18 from pkuczynski/JENKINS-22293

          Fix for JENKINS-22293

          Compare: https://github.com/jenkinsci/rubymetrics-plugin/compare/ae4198301d88...703b75159d51

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Piotr Kuczynski Path: .gitignore pom.xml src/main/java/hudson/plugins/rubyMetrics/AbstractRailsTaskPublisher.java src/main/java/hudson/plugins/rubyMetrics/flog/FlogExecutor.java src/main/java/hudson/plugins/rubyMetrics/flog/FlogParser.java src/main/java/hudson/plugins/rubyMetrics/flog/FlogPublisher.java src/main/java/hudson/plugins/rubyMetrics/railsNotes/RailsNotesParser.java src/main/java/hudson/plugins/rubyMetrics/railsNotes/RailsNotesPublisher.java src/main/java/hudson/plugins/rubyMetrics/railsStats/RailsStatsParser.java src/main/java/hudson/plugins/rubyMetrics/railsStats/RailsStatsPublisher.java src/main/ruby/templates/rails_task_publisher.eruby src/test/java/hudson/plugins/rubyMetrics/flog/FlogExecutorTest.java http://jenkins-ci.org/commit/rubymetrics-plugin/703b75159d5194a3a1aec39a4beec15bd67af073 Log: Merge pull request #18 from pkuczynski/ JENKINS-22293 Fix for JENKINS-22293 Compare: https://github.com/jenkinsci/rubymetrics-plugin/compare/ae4198301d88...703b75159d51

          This has been fixed and released with rubymetrics-plugin version 1.6.0

          Piotr Kuczynski added a comment - This has been fixed and released with rubymetrics-plugin version 1.6.0

            david_calavera david_calavera
            akaias Axel Kämpfe
            Votes:
            3 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: