Issue Type: Bug Bug
Assignee: rsandell
Components: core, multi-slave-config
Created: 25/Aug/14 4:46 PM
Description:

Hello,

We are experiencing an issue where Jenkins fails builds for no discernible reasons. Apparently, other people came across the same issue.

I quote from 2 relevant posts to jenkinsci-users: link 1, link 2.

We use DSL in a Build Flow project to trigger around 50 parallel builds on 2 slave nodes. However, some of the triggered jobs fail for no apparent reason. The only message in the Jenkins log file is:

Aug 20, 2014 12:38:41 AM hudson.model.Run execute
INFO: <my_triggered_build_name> #9288 main build action completed: FAILURE

We trigger a parallel batch of roughly 30 parametrized MultiJobs. The triggering job and each of the phases of the MultiJob can run on one of 2 slave nodes. This is specified via the "Restrict where this job can run" option.

About 1 in 15 times a phase (mostly the first one) of the MultiJob is silently skipped. Jenkins simply states "Not Built" next to the job phase, that's it - the next phase proceeds even though according to the job setup it should only execute if the previous phase was successful.

This appears to be an issue using the MultiPhase job plugin + "Allow
Concurrent Builds" + "restrict where this job can be run", and is a blocking
issue for myself and my team. Any insight into a fix for this would be
greatly appreciated.

I have not been able to reproduce the problem using a basic build setup but for what it's worth I include the XML for what I used for testing. Below, DEBUG_SkippedBuilds is a BuildFlow job which triggers a MultiPhase job DEBUG_MultiJobProject which in turn runs a shell command and a job called DEBUG_FakeJobPhase.

"DEBUG_SkippedBuilds"
<?xml version='1.0' encoding='UTF-8'?>
<com.cloudbees.plugins.flow.BuildFlow plugin="[email protected]">
  <actions/>
  <description>Debug.</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <com.sonyericsson.rebuild.RebuildSettings plugin="[email protected]">
      <autoRebuild>false</autoRebuild>
    </com.sonyericsson.rebuild.RebuildSettings>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders/>
  <publishers/>
  <buildWrappers/>
  <icon/>
  <dsl>ignore(FAILURE){
	parallel(
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;01&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;02&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;03&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;04&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;05&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;06&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;07&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;08&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;09&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;10&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;11&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;12&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;13&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;14&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;15&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;16&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;17&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;18&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;19&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;20&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;21&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;22&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;23&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;24&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;25&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;26&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;27&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;28&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;29&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;30&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;31&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;32&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;33&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;33&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;34&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;35&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;36&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;37&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;38&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;39&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;40&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;41&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;42&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;43&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;44&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;45&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;46&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;47&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;48&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;49&quot;) },
		{ build(&quot;DEBUG_MultiJobProject&quot;, MY_ID: &quot;50&quot;) },
	)
}</dsl>
  <buildNeedsWorkspace>false</buildNeedsWorkspace>
</com.cloudbees.plugins.flow.BuildFlow>

"DEBUG_MultiJobProject"
<?xml version='1.0' encoding='UTF-8'?>
<com.tikal.jenkins.plugins.multijob.MultiJobProject plugin="[email protected]">
  <actions/>
  <description>Debug.</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.model.ParametersDefinitionProperty>
      <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
          <name>MY_ID</name>
          <description></description>
          <defaultValue></defaultValue>
        </hudson.model.StringParameterDefinition>
      </parameterDefinitions>
    </hudson.model.ParametersDefinitionProperty>
    <com.sonyericsson.rebuild.RebuildSettings plugin="[email protected]">
      <autoRebuild>false</autoRebuild>
    </com.sonyericsson.rebuild.RebuildSettings>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>true</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>echo &quot;Launching step 1 as ${MY_ID} ${BUILD_NUMBER} on ${NODE_NAME}&quot;</command>
    </hudson.tasks.Shell>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>Step 2</phaseName>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>DEBUG_FakeJobPhase</jobName>
          <currParams>true</currParams>
          <exposedSCM>false</exposedSCM>
          <disableJob>false</disableJob>
          <configs class="empty-list"/>
          <killPhaseOnJobResultCondition>FAILURE</killPhaseOnJobResultCondition>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
      <continuationCondition>SUCCESSFUL</continuationCondition>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
  </builders>
  <publishers/>
  <buildWrappers>
    <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="[email protected]">
      <template>#${BUILD_NUMBER} ${ENV,var=&quot;MY_ID&quot;} ${ENV,var=&quot;NODE_NAME&quot;}</template>
    </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter>
  </buildWrappers>
</com.tikal.jenkins.plugins.multijob.MultiJobProject>
"DEBUG_FakeJobPhase"
<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Debug.</description>
  <keepDependencies>false</keepDependencies>
  <properties>
    <com.sonyericsson.rebuild.RebuildSettings plugin="[email protected]">
      <autoRebuild>false</autoRebuild>
    </com.sonyericsson.rebuild.RebuildSettings>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>echo &quot;Launching step 2 as ${MY_ID} ${BUILD_NUMBER} on ${NODE_NAME}&quot;</command>
    </hudson.tasks.Shell>
  </builders>
  <publishers/>
  <buildWrappers>
    <org.jenkinsci.plugins.buildnamesetter.BuildNameSetter plugin="[email protected]">
      <template>#${BUILD_NUMBER} ${ENV,var=&quot;MY_ID&quot;} ${ENV,var=&quot;NODE_NAME&quot;}</template>
    </org.jenkinsci.plugins.buildnamesetter.BuildNameSetter>
  </buildWrappers>
</project>
Project: Jenkins
Priority: Major Major
Reporter: David Koch
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to