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

Release Build is marked as failure for multi-module projects.

      When I run a m2release on a multi-module, it shows up as a failure. Here is the last bit in the output of the console:

      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD SUCCESSFUL
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 1 minute 13 seconds
      [INFO] Finished at: Wed Oct 06 08:29:50 MDT 2010
      [INFO] Final Memory: 31M/409M
      [INFO] ------------------------------------------------------------------------
      channel stopped
      Email was triggered for: Failure
      Sending email for trigger: Failure
      Sending email to: [removed]
      Notifying upstream projects of job completion
      Finished: SUCCESS
      

          [JENKINS-7691] Release Build is marked as failure for multi-module projects.

          I made sure to remove all of them for testing. I also made sure it works fine (even with reports and post build actions) for simple projects.

          I just removed email notification, and it says Success, like the above (just remove the email portion). But in the interface it shows as failed.

          When it lists the modules the aggregator (parent) pom is success, but the modules are red.

          When I view their console log, I get this:

          Started
          FATAL: null
          java.lang.NullPointerException
          	at org.jvnet.hudson.plugins.DownstreamBuildViewUpdateListener.onStarted(DownstreamBuildViewUpdateListener.java:76)
          	at org.jvnet.hudson.plugins.DownstreamBuildViewUpdateListener.onStarted(DownstreamBuildViewUpdateListener.java:48)
          	at hudson.model.listeners.RunListener.fireStarted(RunListener.java:148)
          	at hudson.model.Run.run(Run.java:1275)
          	at hudson.maven.MavenBuild.access$600(MavenBuild.java:72)
          	at hudson.maven.MavenBuild$ProxyImpl2.close(MavenBuild.java:471)
          	at hudson.maven.MavenModuleSetBuild$Builder.end(MavenModuleSetBuild.java:687)
          	at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:483)
          	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
          	at hudson.model.Run.run(Run.java:1280)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:293)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:137)
          

          which might mean it is a downstrean build plugin problem, but for normal non release jobs I can click on their console output to see it.

          Here is my sanitized config.xml

          <maven2-moduleset> 
            <actions/> 
            <description></description> 
            <keepDependencies>false</keepDependencies> 
            <properties> 
              <hudson.plugins.disk__usage.DiskUsageProperty/> 
              <hudson.plugins.jira.JiraProjectProperty> 
                <siteName>http://jira.company.com/</siteName> 
              </hudson.plugins.jira.JiraProjectProperty> 
              <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty/> 
              <hudson.plugins.jiraapi.JiraProjectKeyJobProperty> 
                <key></key> 
              </hudson.plugins.jiraapi.JiraProjectKeyJobProperty> 
              <hudson.plugins.throttleconcurrents.ThrottleJobProperty> 
                <maxConcurrentPerNode>0</maxConcurrentPerNode> 
                <maxConcurrentTotal>0</maxConcurrentTotal> 
                <throttleEnabled>false</throttleEnabled> 
              </hudson.plugins.throttleconcurrents.ThrottleJobProperty> 
              <de.fspengler.hudson.plugin.LogActionProperty/> 
              <hudson.plugins.heavy__job.HeavyJobProperty> 
                <weight>1</weight> 
              </hudson.plugins.heavy__job.HeavyJobProperty> 
              <hudson.queueSorter.PrioritySorterJobProperty> 
                <priority>100</priority> 
              </hudson.queueSorter.PrioritySorterJobProperty> 
            </properties> 
            <scm class="hudson.scm.SubversionSCM"> 
              <locations> 
                <hudson.scm.SubversionSCM_-ModuleLocation> 
                  <remote>http://subversion/svn/multimodule/trunk</remote> 
                </hudson.scm.SubversionSCM_-ModuleLocation> 
              </locations> 
              <useUpdate>true</useUpdate> 
              <doRevert>true</doRevert> 
              <browser class="hudson.scm.browsers.FishEyeSVN"> 
                <url>http://fisheye:8060/browse/</url> 
                <rootModule></rootModule> 
              </browser> 
              <excludedRegions></excludedRegions> 
              <includedRegions></includedRegions> 
              <excludedUsers></excludedUsers> 
              <excludedRevprop>hudson:ignore</excludedRevprop> 
              <excludedCommitMessages></excludedCommitMessages> 
            </scm> 
            <canRoam>true</canRoam> 
            <disabled>false</disabled> 
            <blockBuildWhenUpstreamBuilding>true</blockBuildWhenUpstreamBuilding> 
            <triggers class="vector"> 
              <hudson.triggers.SCMTrigger> 
                <spec>*/5 * * * *</spec> 
              </hudson.triggers.SCMTrigger> 
            </triggers> 
            <concurrentBuild>false</concurrentBuild> 
            <rootModule> 
              <groupId>com.company</groupId> 
              <artifactId>multimodule</artifactId> 
            </rootModule> 
            <goals>-Djava.awt.headless=true -e -U clean deploy -P hudson,production</goals> 
            <mavenOpts>-Xmx1024m</mavenOpts> 
            <aggregatorStyleBuild>true</aggregatorStyleBuild> 
            <incrementalBuild>false</incrementalBuild> 
            <usePrivateRepository>true</usePrivateRepository> 
            <ignoreUpstremChanges>false</ignoreUpstremChanges> 
            <archivingDisabled>true</archivingDisabled> 
            <reporters/> 
            <publishers/> 
            <buildWrappers> 
              <org.jvnet.hudson.plugins.m2release.M2ReleaseBuildWrapper> 
                <releaseGoals>-DignoreSnapshots=true -Djava.awt.headless=true -e -U -Dresume=false release:prepare release:perform -P hudson,production,sign</releaseGoals> 
                <defaultVersioningMode>auto</defaultVersioningMode> 
                <selectCustomScmCommentPrefix>true</selectCustomScmCommentPrefix> 
                <selectAppendHudsonUsername>true</selectAppendHudsonUsername> 
              </org.jvnet.hudson.plugins.m2release.M2ReleaseBuildWrapper> 
            </buildWrappers> 
          </maven2-moduleset>
          

          Larry Shatzer, Jr. added a comment - I made sure to remove all of them for testing. I also made sure it works fine (even with reports and post build actions) for simple projects. I just removed email notification, and it says Success, like the above (just remove the email portion). But in the interface it shows as failed. When it lists the modules the aggregator (parent) pom is success, but the modules are red. When I view their console log, I get this: Started FATAL: null java.lang.NullPointerException at org.jvnet.hudson.plugins.DownstreamBuildViewUpdateListener.onStarted(DownstreamBuildViewUpdateListener.java:76) at org.jvnet.hudson.plugins.DownstreamBuildViewUpdateListener.onStarted(DownstreamBuildViewUpdateListener.java:48) at hudson.model.listeners.RunListener.fireStarted(RunListener.java:148) at hudson.model.Run.run(Run.java:1275) at hudson.maven.MavenBuild.access$600(MavenBuild.java:72) at hudson.maven.MavenBuild$ProxyImpl2.close(MavenBuild.java:471) at hudson.maven.MavenModuleSetBuild$Builder.end(MavenModuleSetBuild.java:687) at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:483) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416) at hudson.model.Run.run(Run.java:1280) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:293) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:137) which might mean it is a downstrean build plugin problem, but for normal non release jobs I can click on their console output to see it. Here is my sanitized config.xml <maven2-moduleset> <actions/> <description></description> <keepDependencies> false </keepDependencies> <properties> <hudson.plugins.disk__usage.DiskUsageProperty/> <hudson.plugins.jira.JiraProjectProperty> <siteName>http: //jira.company.com/</siteName> </hudson.plugins.jira.JiraProjectProperty> <org.jvnet.hudson.plugins.shelveproject.ShelveProjectProperty/> <hudson.plugins.jiraapi.JiraProjectKeyJobProperty> <key></key> </hudson.plugins.jiraapi.JiraProjectKeyJobProperty> <hudson.plugins.throttleconcurrents.ThrottleJobProperty> <maxConcurrentPerNode>0</maxConcurrentPerNode> <maxConcurrentTotal>0</maxConcurrentTotal> <throttleEnabled> false </throttleEnabled> </hudson.plugins.throttleconcurrents.ThrottleJobProperty> <de.fspengler.hudson.plugin.LogActionProperty/> <hudson.plugins.heavy__job.HeavyJobProperty> <weight>1</weight> </hudson.plugins.heavy__job.HeavyJobProperty> <hudson.queueSorter.PrioritySorterJobProperty> <priority>100</priority> </hudson.queueSorter.PrioritySorterJobProperty> </properties> <scm class= "hudson.scm.SubversionSCM" > <locations> <hudson.scm.SubversionSCM_-ModuleLocation> <remote>http: //subversion/svn/multimodule/trunk</remote> </hudson.scm.SubversionSCM_-ModuleLocation> </locations> <useUpdate> true </useUpdate> <doRevert> true </doRevert> <browser class= "hudson.scm.browsers.FishEyeSVN" > <url>http: //fisheye:8060/browse/</url> <rootModule></rootModule> </browser> <excludedRegions></excludedRegions> <includedRegions></includedRegions> <excludedUsers></excludedUsers> <excludedRevprop>hudson:ignore</excludedRevprop> <excludedCommitMessages></excludedCommitMessages> </scm> <canRoam> true </canRoam> <disabled> false </disabled> <blockBuildWhenUpstreamBuilding> true </blockBuildWhenUpstreamBuilding> <triggers class= "vector" > <hudson.triggers.SCMTrigger> <spec>*/5 * * * *</spec> </hudson.triggers.SCMTrigger> </triggers> <concurrentBuild> false </concurrentBuild> <rootModule> <groupId>com.company</groupId> <artifactId>multimodule</artifactId> </rootModule> <goals>-Djava.awt.headless= true -e -U clean deploy -P hudson,production</goals> <mavenOpts>-Xmx1024m</mavenOpts> <aggregatorStyleBuild> true </aggregatorStyleBuild> <incrementalBuild> false </incrementalBuild> <usePrivateRepository> true </usePrivateRepository> <ignoreUpstremChanges> false </ignoreUpstremChanges> <archivingDisabled> true </archivingDisabled> <reporters/> <publishers/> <buildWrappers> <org.jvnet.hudson.plugins.m2release.M2ReleaseBuildWrapper> <releaseGoals>-DignoreSnapshots= true -Djava.awt.headless= true -e -U -Dresume= false release:prepare release:perform -P hudson,production,sign</releaseGoals> <defaultVersioningMode>auto</defaultVersioningMode> <selectCustomScmCommentPrefix> true </selectCustomScmCommentPrefix> <selectAppendHudsonUsername> true </selectAppendHudsonUsername> </org.jvnet.hudson.plugins.m2release.M2ReleaseBuildWrapper> </buildWrappers> </maven2-moduleset>

          James Nord added a comment -

          Which Hudson version are you using, and which version of the m2release plugin?

          Can you also attach the (sanitized) build.xml from the release build and the previous build?

          Thanks

          James Nord added a comment - Which Hudson version are you using, and which version of the m2release plugin? Can you also attach the (sanitized) build.xml from the release build and the previous build? Thanks

          Latest on both (1.379 and 0.6.1). I'll get the successful and failed build.xml's attached shortly.

          Larry Shatzer, Jr. added a comment - Latest on both (1.379 and 0.6.1). I'll get the successful and failed build.xml's attached shortly.

          4 is the broken build
          5 is the good build

          I even have the logs and other stuff in the builds directory (I did a tar with -h to dereference the symlinks hudson uses).

          Larry Shatzer, Jr. added a comment - 4 is the broken build 5 is the good build I even have the logs and other stuff in the builds directory (I did a tar with -h to dereference the symlinks hudson uses).

          lynggaard added a comment -

          I am seeing the same problem

          In the main console log I see a sucessfull except for a odd warning.
          INFO] ------------------------------------------------------------------------
          [INFO] BUILD SUCCESSFUL
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 1 minute 46 seconds
          [INFO] Finished at: Wed Oct 13 12:54:14 CEST 2010
          [INFO] Final Memory: 32M/494M
          [INFO] ------------------------------------------------------------------------
          channel stopped
          [WARNINGS] Skipping publisher since build result is FAILURE
          An attempt to send an e-mail to empty list of recipients, ignored.
          Finished: SUCCESS

          However in the modules that failed I get:
          Started
          FATAL: null
          java.lang.NullPointerException

          lynggaard added a comment - I am seeing the same problem In the main console log I see a sucessfull except for a odd warning. INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1 minute 46 seconds [INFO] Finished at: Wed Oct 13 12:54:14 CEST 2010 [INFO] Final Memory: 32M/494M [INFO] ------------------------------------------------------------------------ channel stopped [WARNINGS] Skipping publisher since build result is FAILURE An attempt to send an e-mail to empty list of recipients, ignored. Finished: SUCCESS However in the modules that failed I get: Started FATAL: null java.lang.NullPointerException

          lynggaard added a comment -

          Put in null guard in downstream view plugin.

          lynggaard added a comment - Put in null guard in downstream view plugin.

          lynggaard added a comment -

          Adding downstream-view to component list

          lynggaard added a comment - Adding downstream-view to component list

          I removed downstream-view from my instance of hudson, since it was causing long startup times and was not really using its functionality.

          I now don't show a failed build, but on each module for the release build, it doesn't show their console output. Here is the console output:

          Started
          Build failed before it gets to this module
          Finished: NOT_BUILT
          

          I'm guessing this is probably impossible with the way the release plugin works... So this bug is really in the downstream-view.

          Larry Shatzer, Jr. added a comment - I removed downstream-view from my instance of hudson, since it was causing long startup times and was not really using its functionality. I now don't show a failed build, but on each module for the release build, it doesn't show their console output. Here is the console output: Started Build failed before it gets to this module Finished: NOT_BUILT I'm guessing this is probably impossible with the way the release plugin works... So this bug is really in the downstream-view.

          James Nord added a comment -

          Hudson doesn't know anything about the released modules when the release is performed as this is done in a new instance of maven that hudson is not intercepting.

          James Nord added a comment - Hudson doesn't know anything about the released modules when the release is performed as this is done in a new instance of maven that hudson is not intercepting.

          Code changed in hudson
          User: : kohsuke
          Path:
          trunk/hudson/plugins/downstream-buildview/src/main/java/org/jvnet/hudson/plugins/DownstreamBuildViewUpdateListener.java
          http://jenkins-ci.org/commit/36450
          Log:
          [FIXED JENKINS-7691] applied a patch

          SCM/JIRA link daemon added a comment - Code changed in hudson User: : kohsuke Path: trunk/hudson/plugins/downstream-buildview/src/main/java/org/jvnet/hudson/plugins/DownstreamBuildViewUpdateListener.java http://jenkins-ci.org/commit/36450 Log: [FIXED JENKINS-7691] applied a patch

            shinodkm shinodkm
            lshatzer Larry Shatzer, Jr.
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: