[JIRA] (JENKINS-22026) Propagate failure causes from downstream builds

5 views
Skip to first unread message

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:28:05 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion reopened an issue
 
Jenkins / Bug JENKINS-22026
Propagate failure causes from downstream builds
Change By: m corbion
Resolution: Fixed
Status: Resolved Reopened
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:28:05 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
Change By: m corbion
Issue Type: Improvement Bug

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:29:03 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
This would be nice to have - I've got a fairly complex multi-level build setup, with a group of "generic" jobs for each platform we build on. Those generic jobs are then called by each of our 20+ component builds, passing certain information (i.e., what to build, where to find source packages) to the generic jobs as parameters.

When the generic jobs (i.e., the downstream builds) fail, they get the appropriate known cause associated with them, but the parent build doesn't, since it doesn't actually have the cause of the downstream failure in its log. It'd be handy if we could propagate failure causes up the stack from the downstream builds to their upstream builds - it'd make analysis much simpler.


mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:33:03 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
Original Jira :
This would be nice to have - I've got a fairly complex multi-level build setup, with a group of "generic" jobs for each platform we build on. Those generic jobs are then called by each of our 20+ component builds, passing certain information (i.e., what to build, where to find source packages) to the generic jobs as parameters.

When the generic jobs (i.e., the downstream builds) fail, they get the appropriate known cause associated with them, but the parent build doesn't, since it doesn't actually have the cause of the downstream failure in its log. It'd be handy if we could propagate failure causes up the stack from the downstream builds to their upstream builds - it'd make analysis much simpler.

Updated bug :
Looking at the BFA change log this is indeed supported as of version Version 1.6.0 (released Mar 10, 2014)
However, testing this with a latest fresh install of Jenkins and an older (Jenkins version 1.625.2) with the minimum amount of plugin installed, I was unable to get this working. I've added several screenshots of the issue :

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:33:03 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
Change By: m corbion
Attachment: screenshot-2.png

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:33:03 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
Change By: m corbion
Attachment: screenshot-1.png

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:34:02 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
!screenshot-1.png|thumbnail! Original Jira :

This would be nice to have - I've got a fairly complex multi-level build setup, with a group of "generic" jobs for each platform we build on. Those generic jobs are then called by each of our 20+ component builds, passing certain information (i.e., what to build, where to find source packages) to the generic jobs as parameters.

When the generic jobs (i.e., the downstream builds) fail, they get the appropriate known cause associated with them, but the parent build doesn't, since it doesn't actually have the cause of the downstream failure in its log. It'd be handy if we could propagate failure causes up the stack from the downstream builds to their upstream builds - it'd make analysis much simpler.

Updated bug :
Looking at the BFA change log this is indeed supported as of version Version 1.6.0 (released Mar 10, 2014)
However, testing this with a latest fresh install of Jenkins and an older (Jenkins version 1.625.2) with the minimum amount of plugin installed, I was unable to get this working. I've added several screenshots of the issue :

!screenshot-2.png|thumbnail!


!screenshot-3.png|thumbnail!

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:34:04 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
Change By: m corbion
Attachment: screenshot-3.png

mcorbion@ghostgames.com (JIRA)

unread,
Sep 6, 2016, 7:35:03 AM9/6/16
to jenkinsc...@googlegroups.com
m corbion updated an issue
!screenshot-1.png|thumbnail! Original Jira :
This would be nice to have - I've got a fairly complex multi-level build setup, with a group of "generic" jobs for each platform we build on. Those generic jobs are then called by each of our 20+ component builds, passing certain information (i.e., what to build, where to find source packages) to the generic jobs as parameters.

When the generic jobs (i.e., the downstream builds) fail, they get the appropriate known cause associated with them, but the parent build doesn't, since it doesn't actually have the cause of the downstream failure in its log. It'd be handy if we could propagate failure causes up the stack from the downstream builds to their upstream builds - it'd make analysis much simpler.

Updated bug :
Looking at the BFA change log this is indeed supported as of version Version 1.6.0 (released Mar 10, 2014)
However, testing this with a latest fresh install of Jenkins and an older (Jenkins version 1.625.2) with the minimum amount of plugin installed, I was unable to get this working. I've added several screenshots of the issue :

Here is a screenshot of the master project I have setup :

!screenshot- 1.png|thumbnail!

This project calls two instances of the slave project that way using Jenkins Parameterized Trigger plugin:

!screenshot-
2.png|thumbnail!

When I browse to the two executions from this however BFA successfully triggered on the content of the subprojects :

!screenshot-3.png|thumbnail!        
I have tried using different ways to call the sub project as I thought that this could be that, I managed to get the master call the slave project as if they were "Downstream projects" instead of "Subprojects" using different triggers system. Calling them as post-build action, calling them as build action, none of this was able to get the failure cause propagated upstream.

sorin.sbarnea@gmail.com (JIRA)

unread,
Jan 9, 2017, 1:45:02 PM1/9/17
to jenkinsc...@googlegroups.com
Sorin Sbarnea commented on Bug JENKINS-22026
 
Re: Propagate failure causes from downstream builds

This bug is still here and is it presents a serious usability issue on complex Jenkins setups. We have LOTS of Jenkins jobs that are starting other smaller jenkins jobs and due to this bug it's impossible to know what caused the failure of the top (parent) jobs ones because the BFA errors are not sent upwards.

In some cases we need to navigate 2-3 levels down in order to discover that these failures.

I think that the default behaviour of BFA should be to to inherit all the errors from from the child jobs. Example: http://s3.sbarnea.com/ss/python-saharaclient-nightly-rhos-10.0-coreci_46_rhos-10.0-patches_Jenkins_2017-01-09_18-43-42.png

sorin.sbarnea@gmail.com (JIRA)

unread,
Jan 9, 2017, 1:52:02 PM1/9/17
to jenkinsc...@googlegroups.com
Sorin Sbarnea edited a comment on Bug JENKINS-22026
This bug is still here and is it presents a serious usability issue on complex Jenkins setups. We have LOTS of Jenkins jobs that are starting other smaller jenkins jobs and due to this bug it's impossible to know what caused the failure of the top (parent) jobs ones because the BFA errors are not sent upwards.

In some cases we need to navigate 2-3 levels down in order to discover that these failures.

I think that the default behaviour of BFA should be to to inherit all the errors from from the child jobs. Example: http://s3.sbarnea.com/ss/python-saharaclient-nightly-rhos-10.0-coreci_46_rhos-10.0-patches_Jenkins_2017-01-09_18-43-42.png


I think that most of our "master" jobs are using the [MultiJob Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin).

tomas.westling@axis.com (JIRA)

unread,
Jan 10, 2017, 4:16:01 AM1/10/17
to jenkinsc...@googlegroups.com

I can also see this bug in newer (2.x) Jenkins versions, but not in 1.6.
I'll dig a little deeper.

sorin.sbarnea@gmail.com (JIRA)

unread,
Jan 10, 2017, 8:47:02 AM1/10/17
to jenkinsc...@googlegroups.com

In case this helps, I observed the lack of propagation on Jenkins ver. 1.625.1 – I do not own this instance which means that I will not be able to upgrade it. Still, if you have reasons to believe that is fixed in newer versions, I could try to move my jobs to an instance that is running Jenkins ver. 2.19.1 as this was planned anyway.

Still, based on your comment I think that this may not solve the problem.

tomas.westling@axis.com (JIRA)

unread,
Jan 11, 2017, 5:47:01 AM1/11/17
to jenkinsc...@googlegroups.com

From what I've observed, it works in 1.6 but not in 2.x, so upgrading shouldn't help anything.

I can see that the issue comes from our use of reflection to find the Parameterized Trigger classes in order to find the downstream builds.
I am not sure why this works in 1.6 but not in 2.x, but some changes to classloaders must have been made.
Once https://github.com/jenkinsci/parameterized-trigger-plugin/pull/109 has been merged, we won't need the failing reflection code at all,
and this issue should be solved.

jared.jasie@endurance.com (JIRA)

unread,
Jan 28, 2019, 4:49:03 PM1/28/19
to jenkinsc...@googlegroups.com

Tomas Westling rsandell

 

Hi guys - has this fix been abandoned? 

This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

tomerabr@gmail.com (JIRA)

unread,
Apr 4, 2019, 2:14:03 AM4/4/19
to jenkinsc...@googlegroups.com
Tomer Ab commented on Bug JENKINS-22026

Hi

I also face this issue on ver 2.160.

Is there a way i can contribute to fix this bug?

tomas.westling@axis.com (JIRA)

unread,
Apr 4, 2019, 2:49:02 AM4/4/19
to jenkinsc...@googlegroups.com

I haven't prioritized this issue, but will have a second look now. I'll analyze it again and get back to you.

stephan@blackbuild.com (JIRA)

unread,
Jul 19, 2019, 4:05:05 AM7/19/19
to jenkinsc...@googlegroups.com

I created a PR (https://github.com/jenkinsci/build-failure-analyzer-plugin/pull/107) which should fix this by using the downstream-build-cache, which does contain that information anyway.

stephan@blackbuild.com (JIRA)

unread,
Jul 19, 2019, 4:05:10 AM7/19/19
to jenkinsc...@googlegroups.com
Stephan Pauxberger edited a comment on Bug JENKINS-22026
I created a PR ([https://github.com/jenkinsci/build-failure-analyzer-plugin/pull/107)] which should fix this by using the downstream-build-cache, which does contain that information anyway.

I will also work with pipeline jobs.

fsteff@gmail.com (JIRA)

unread,
Aug 28, 2019, 4:36:04 AM8/28/19
to jenkinsc...@googlegroups.com

I just tested the 1.23.0 release of this plugin on Jenkins 2.191 (on windows).

Our setup is freestyle projects, calling other freestyle sub-projects.

On failure, there is failures causes output on both the main project and the sub-projects, but  sub-project causes do not propagate into the main project. 

Are there any special settings to be made for this to work?

Reply all
Reply to author
Forward
0 new messages