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

Fatal error with coming Jenkins ver. 1.577

    XMLWordPrintable

Details

    Description

      I updated to the RC build of Jenkins: Jenkins ver. 1.577-SNAPSHOT (rc-08/21/2014 13:41 GMT-jenkins)

      The problem with the email-ext plugin here is the following fatal error on sending e-mail after failed build:

      Build step 'Invoke Ant' marked build as failure
      [description-setter] Description set: Java: 64bit/jdk1.7.0_67 -XX:-UseCompressedOops -XX:+UseParallelGC
      Archiving artifacts
      Recording test results
      Email was triggered for: Failure - Any
      Sending email for trigger: Failure - Any
      ERROR: Publisher hudson.plugins.emailext.ExtendedEmailPublisher aborted due to exception
      java.lang.NoSuchMethodError: hudson.model.AbstractBuild.getTestResultAction()Lhudson/tasks/test/AbstractTestResultAction;
      	at hudson.plugins.emailext.plugins.content.FailedTestsContent.evaluate(FailedTestsContent.java:47)
      	at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:189)
      	at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:182)
      	at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:233)
      	at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:71)
      	at hudson.plugins.emailext.ExtendedEmailPublisher.getContent(ExtendedEmailPublisher.java:597)
      	at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:476)
      	at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290)
      	at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
      	at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:233)
      	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
      	at hudson.model.Build$BuildExecution.cleanUp(Build.java:192)
      	at hudson.model.Run.execute(Run.java:1786)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:89)
      	at hudson.model.Executor.run(Executor.java:240)
      Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered
      Finished: FAILURE
      

      This is caused by a signature change of the return type of this method in this commit to Jenkins core:

      https://github.com/jenkinsci/jenkins/commit/16197ea502bc2f370f70b65242b9ccb2f0583372

      I am not sure how to fix this, reflection might be an option. Another option is to build a new version of this plugin.

      Attachments

        Issue Links

          Activity

            slide_o_mix Alex Earl added a comment -

            Email-ext is built and tested against the LTS. Until something after 1.577 becomes an LTS, this won't be fixed.

            slide_o_mix Alex Earl added a comment - Email-ext is built and tested against the LTS. Until something after 1.577 becomes an LTS, this won't be fixed.
            thetaphi Uwe Schindler added a comment -

            This now breaks Apache Lucene/Solr builds that need this newer Jenkins. Too bad...
            Can we build the plugin from source? To me it looks like maybe we can create a branch and build ourselves.

            thetaphi Uwe Schindler added a comment - This now breaks Apache Lucene/Solr builds that need this newer Jenkins. Too bad... Can we build the plugin from source? To me it looks like maybe we can create a branch and build ourselves.
            sarowe Steve Rowe added a comment -

            According to the Jenkins event calendar, the next LTS (which AFAICT will likely be >= v1.577) is scheduled for release on October 15.

            sarowe Steve Rowe added a comment - According to the Jenkins event calendar , the next LTS (which AFAICT will likely be >= v1.577) is scheduled for release on October 15.
            slide_o_mix Alex Earl added a comment -

            You can build it from source all you want, it just won't be supported at all.

            slide_o_mix Alex Earl added a comment - You can build it from source all you want, it just won't be supported at all.
            thetaphi Uwe Schindler added a comment -

            I can for now stay on Jenkins 1.576 (with an Apache mod_substitute rewrite on the reverse proxy for a bug in this version).

            If you have a branch for upgrades for the next LTS version, let us know. We can keep this issue open, because it has to be fixed in any case.

            thetaphi Uwe Schindler added a comment - I can for now stay on Jenkins 1.576 (with an Apache mod_substitute rewrite on the reverse proxy for a bug in this version). If you have a branch for upgrades for the next LTS version, let us know. We can keep this issue open, because it has to be fixed in any case.
            slide_o_mix Alex Earl added a comment -

            Nope, no branch for LTS updates right now.

            slide_o_mix Alex Earl added a comment - Nope, no branch for LTS updates right now.
            danielbeck Daniel Beck added a comment -

            Maybe call this one via reflection while required Jenkins < 1.577? Not nice, but still nicer than this error on all new Jenkins versions, and it's absolutely temporary.

            danielbeck Daniel Beck added a comment - Maybe call this one via reflection while required Jenkins < 1.577? Not nice, but still nicer than this error on all new Jenkins versions, and it's absolutely temporary.
            jglick Jesse Glick added a comment -

            Was fixed over a month ago in sources. You merely need to cut a new release. There is no need to change dependencies.

            jglick Jesse Glick added a comment - Was fixed over a month ago in sources. You merely need to cut a new release. There is no need to change dependencies.
            slide_o_mix Alex Earl added a comment -

            It would be helpful if someone mentioned they were making changes so plugin developers knew.

            slide_o_mix Alex Earl added a comment - It would be helpful if someone mentioned they were making changes so plugin developers knew.
            thetaphi Uwe Schindler added a comment -

            Hi,
            I tried the latest trunk build, seems to work. As this was caused by using a deprecated method already replaced by a newer one in the LTS release, I see no problem in releasing a new version based on Jenkins LTS.

            Thanks Jesse!
            Uwe

            thetaphi Uwe Schindler added a comment - Hi, I tried the latest trunk build, seems to work. As this was caused by using a deprecated method already replaced by a newer one in the LTS release, I see no problem in releasing a new version based on Jenkins LTS. Thanks Jesse! Uwe
            thetaphi Uwe Schindler added a comment - FYI: this is the commit: https://github.com/jenkinsci/email-ext-plugin/commit/26b1e1b8eaa1c1a11948268564de9970e40a9259
            jglick Jesse Glick added a comment -

            @thetaphi the deprecated method was not “replaced” by a newer one; the replacement is to just to use a more generic method that has always been there. The plugin fix does not depend on any particular Jenkins core version. It would suffice to cut a plugin release from master, or just cherry-pick 26b1e1b8eaa1c1a11948268564de9970e40a9259 and f8f1af28f751e4431226d8c7ad191cfa330d7f60 to a new branch to release a 2.38.2 with just those changes.

            jglick Jesse Glick added a comment - @thetaphi the deprecated method was not “replaced” by a newer one; the replacement is to just to use a more generic method that has always been there. The plugin fix does not depend on any particular Jenkins core version. It would suffice to cut a plugin release from master , or just cherry-pick 26b1e1b8eaa1c1a11948268564de9970e40a9259 and f8f1af28f751e4431226d8c7ad191cfa330d7f60 to a new branch to release a 2.38.2 with just those changes.
            slide_o_mix Alex Earl added a comment -

            Those commits don't apply cleanly directly on 2.38.

            slide_o_mix Alex Earl added a comment - Those commits don't apply cleanly directly on 2.38.
            slide_o_mix Alex Earl added a comment - - edited

            Disregard...was not in the state I thought I was in my tree. No, they really don't apply cleanly to 2.38.1. I'll have to see what I can do to figure out the correct merge...

            slide_o_mix Alex Earl added a comment - - edited Disregard...was not in the state I thought I was in my tree. No, they really don't apply cleanly to 2.38.1. I'll have to see what I can do to figure out the correct merge...
            thetaphi Uwe Schindler added a comment -

            @thetaphi the deprecated method was not “replaced” by a newer one

            I meant: the deprecated method changed its signature in Jenkins core, so I think it is useless now. So I suggested to remove the deprecated method in Jenkins core.

            thetaphi Uwe Schindler added a comment - @thetaphi the deprecated method was not “replaced” by a newer one I meant: the deprecated method changed its signature in Jenkins core, so I think it is useless now. So I suggested to remove the deprecated method in Jenkins core.
            jglick Jesse Glick added a comment -

            @slide_o_mix the merge ought to be easy (just a routine search-and-replace) but I am happy to help if you need it. You are trying to backport to https://github.com/jenkinsci/email-ext-plugin/releases/tag/email-ext-2.38.1 right?

            jglick Jesse Glick added a comment - @slide_o_mix the merge ought to be easy (just a routine search-and-replace) but I am happy to help if you need it. You are trying to backport to https://github.com/jenkinsci/email-ext-plugin/releases/tag/email-ext-2.38.1 right?
            jglick Jesse Glick added a comment -

            @thetaphi it is useless for Java callers but still can work for calls from Groovy or Jelly, so I left it in to be on the safe side.

            jglick Jesse Glick added a comment - @thetaphi it is useless for Java callers but still can work for calls from Groovy or Jelly, so I left it in to be on the safe side.
            slide_o_mix Alex Earl added a comment -

            @jglick yeah, shouldn't be a problem, just working through it. I will do a release as soon as I can.

            slide_o_mix Alex Earl added a comment - @jglick yeah, shouldn't be a problem, just working through it. I will do a release as soon as I can.
            thetaphi Uwe Schindler added a comment -

            Disregard...was not in the state I thought I was in my tree. No, they really don't apply cleanly to 2.38.1. I'll have to see what I can do to figure out the correct merge...

            I have now trunk HPI running without any problems, it already handled many Lucene/Solr builds successfully. Just FYI.

            thetaphi Uwe Schindler added a comment - Disregard...was not in the state I thought I was in my tree. No, they really don't apply cleanly to 2.38.1. I'll have to see what I can do to figure out the correct merge... I have now trunk HPI running without any problems, it already handled many Lucene/Solr builds successfully. Just FYI.
            slide_o_mix Alex Earl added a comment -

            There are some changes in trunk that I am not ready to release.

            slide_o_mix Alex Earl added a comment - There are some changes in trunk that I am not ready to release.

            Code changed in jenkins
            User: Alex Earl
            Path:
            src/main/java/hudson/plugins/emailext/plugins/EmailTrigger.java
            src/main/java/hudson/plugins/emailext/plugins/content/FailedTestsContent.java
            src/main/java/hudson/plugins/emailext/plugins/content/TestCountsContent.java
            src/main/java/hudson/plugins/emailext/plugins/trigger/ImprovementTrigger.java
            src/main/java/hudson/plugins/emailext/plugins/trigger/RegressionTrigger.java
            src/test/java/hudson/plugins/emailext/plugins/content/FailedTestsContentTest.java
            src/test/java/hudson/plugins/emailext/plugins/content/TestCountsContentTest.java
            http://jenkins-ci.org/commit/email-ext-plugin/64c5d6fd92cabb56cf78ab49995a41835b926fba
            Log:
            Fix JENKINS-24395

            Change to using getAction instead of getTestResultAction

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Alex Earl Path: src/main/java/hudson/plugins/emailext/plugins/EmailTrigger.java src/main/java/hudson/plugins/emailext/plugins/content/FailedTestsContent.java src/main/java/hudson/plugins/emailext/plugins/content/TestCountsContent.java src/main/java/hudson/plugins/emailext/plugins/trigger/ImprovementTrigger.java src/main/java/hudson/plugins/emailext/plugins/trigger/RegressionTrigger.java src/test/java/hudson/plugins/emailext/plugins/content/FailedTestsContentTest.java src/test/java/hudson/plugins/emailext/plugins/content/TestCountsContentTest.java http://jenkins-ci.org/commit/email-ext-plugin/64c5d6fd92cabb56cf78ab49995a41835b926fba Log: Fix JENKINS-24395 Change to using getAction instead of getTestResultAction
            jglick Jesse Glick added a comment -

            Sent a heads-up to the dev list. Sorry for not getting to this earlier.

            jglick Jesse Glick added a comment - Sent a heads-up to the dev list. Sorry for not getting to this earlier.
            slide_o_mix Alex Earl added a comment -

            Released 2.38.2 with backport of the fixes.

            slide_o_mix Alex Earl added a comment - Released 2.38.2 with backport of the fixes.

            I have the latest version of Jenkins and the latest version of EmailExt and I still have this problem. If I can give you any useful any info, just ask for them.

            valipost valipost nicolas added a comment - I have the latest version of Jenkins and the latest version of EmailExt and I still have this problem. If I can give you any useful any info, just ask for them.
            danielbeck Daniel Beck added a comment -

            valipost: What specific problem do you have? Are there exception stack traces, and if so, please post them. What versions of email-ext and Jenkins are installed specifically? Is the JUnit plugin enabled?

            danielbeck Daniel Beck added a comment - valipost : What specific problem do you have? Are there exception stack traces, and if so, please post them. What versions of email-ext and Jenkins are installed specifically? Is the JUnit plugin enabled?
            slide_o_mix Alex Earl added a comment -

            also, did you restart Jenkins after updating the plugin?

            slide_o_mix Alex Earl added a comment - also, did you restart Jenkins after updating the plugin?

            I did restart Jenkins.
            I have JUnit installed, Jenkins 1.583 and ExmailExt 2.38.2
            This is the stack trace I have

            Overriding default server settings, creating our own session
            ERROR: Publisher hudson.plugins.emailext.ExtendedEmailPublisher aborted due to exception
            java.lang.NoSuchMethodError: hudson.model.AbstractBuild.getTestResultAction()Lhudson/tasks/test/AbstractTestResultAction;
            at hudson.plugins.emailext.plugins.content.FailedTestsContent.evaluate(FailedTestsContent.java:47)
            at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:189)
            at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:182)
            at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:233)
            at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:71)
            at hudson.plugins.emailext.ExtendedEmailPublisher.getContent(ExtendedEmailPublisher.java:597)
            at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:476)
            at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290)
            at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281)
            at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:233)
            at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
            at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
            at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
            at hudson.model.Build$BuildExecution.cleanUp(Build.java:192)
            at hudson.model.Run.execute(Run.java:1791)
            at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
            at hudson.model.ResourceController.execute(ResourceController.java:89)
            at hudson.model.Executor.run(Executor.java:240)
            Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered

            valipost valipost nicolas added a comment - I did restart Jenkins. I have JUnit installed, Jenkins 1.583 and ExmailExt 2.38.2 This is the stack trace I have Overriding default server settings, creating our own session ERROR: Publisher hudson.plugins.emailext.ExtendedEmailPublisher aborted due to exception java.lang.NoSuchMethodError: hudson.model.AbstractBuild.getTestResultAction()Lhudson/tasks/test/AbstractTestResultAction; at hudson.plugins.emailext.plugins.content.FailedTestsContent.evaluate(FailedTestsContent.java:47) at org.jenkinsci.plugins.tokenmacro.DataBoundTokenMacro.evaluate(DataBoundTokenMacro.java:189) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expand(TokenMacro.java:182) at org.jenkinsci.plugins.tokenmacro.TokenMacro.expandAll(TokenMacro.java:233) at hudson.plugins.emailext.plugins.ContentBuilder.transformText(ContentBuilder.java:71) at hudson.plugins.emailext.ExtendedEmailPublisher.getContent(ExtendedEmailPublisher.java:597) at hudson.plugins.emailext.ExtendedEmailPublisher.createMail(ExtendedEmailPublisher.java:476) at hudson.plugins.emailext.ExtendedEmailPublisher.sendMail(ExtendedEmailPublisher.java:290) at hudson.plugins.emailext.ExtendedEmailPublisher._perform(ExtendedEmailPublisher.java:281) at hudson.plugins.emailext.ExtendedEmailPublisher.perform(ExtendedEmailPublisher.java:233) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734) at hudson.model.Build$BuildExecution.cleanUp(Build.java:192) at hudson.model.Run.execute(Run.java:1791) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:89) at hudson.model.Executor.run(Executor.java:240) Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered
            danielbeck Daniel Beck added a comment -

            Stop Jenkins, delete the folder JENKINS_HOME/plugins/email-ext/, and start it again. I confirmed in the Maven Repo that it does not use that method.

            danielbeck Daniel Beck added a comment - Stop Jenkins, delete the folder JENKINS_HOME/plugins/email-ext/, and start it again. I confirmed in the Maven Repo that it does not use that method.

            It worked, ty!

            valipost valipost nicolas added a comment - It worked, ty!

            People

              jglick Jesse Glick
              thetaphi Uwe Schindler
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: