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

REGRESSION: Re-running a failed build via re-run button from results screen breaks karaoke mode

    XMLWordPrintable

Details

    • tasman, frank

    Description

      When you run a build from a failed results screen, it won't follow along. If you run from the branches/activity, and then click into it, it will follow along.

      See it here:

      https://media.giphy.com/media/l0MYQC89znwd5zvXy/giphy.gif

      In the console log there is a bunch of stuff like this:

      http://localhost:8080/jenkinsundefined/undefined/log/ Failed to load resource: the server responded with a status of 404 (Not Found)
      jenkins-js-extension.js:29008 error Error: Not Found(…)(anonymous function) @ jenkins-js-extension.js:29008
      blueocean.js:1578 GET http://localhost:8080/jenkinsundefined/undefined/log/ 404 (Not Found)dedupeFetch @ blueocean.js:1578request @ blueocean.js:1640dedupe @ blueocean.js:4264dedupe @ blueocean.js:4287rawFetch @ blueocean.js:1652fetch @ blueocean.js:1727fetchLogsInjectStart @ jenkins-js-extension.js:28397(anonymous function) @ jenkins-js-extension.js:28980(anonymous function) @ blueocean.js:88168(anonymous function) @ blueocean.js:88247componentWillMount @ jenkins-js-extension.js:23443performInitialMount @ blueocean.js:74372mountComponent @ blueocean.js:74279mountComponent @ blueocean.js:81292updateChildren @ blueocean.js:72557_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371updateChildren @ blueocean.js:72545_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371updateChildren @ blueocean.js:72545_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371updateChildren @ blueocean.js:72545_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371updateChildren @ blueocean.js:72545_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371updateChildren @ blueocean.js:72545_reconcilerUpdateChildren @ blueocean.js:80145_updateChildren @ blueocean.js:80244updateChildren @ blueocean.js:80231_updateDOMChildren @ blueocean.js:75989updateComponent @ blueocean.js:75807receiveComponent @ blueocean.js:75765receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664receiveComponent @ blueocean.js:74566receiveComponent @ blueocean.js:81371_updateRenderedComponent @ blueocean.js:74773_performComponentUpdate @ blueocean.js:74743updateComponent @ blueocean.js:74664performUpdateIfNecessary @ blueocean.js:74580performUpdateIfNecessary @ blueocean.js:81403runBatchedUpdates @ blueocean.js:82442perform @ blueocean.js:84490perform @ blueocean.js:84490perform @ blueocean.js:82381flushBatchedUpdates @ blueocean.js:82464closeAll @ blueocean.js:84556perform @ blueocean.js:84503batchedUpdates @ blueocean.js:78173enqueueUpdate @ blueocean.js:82492enqueueUpdate @ blueocean.js:82100enqueueForceUpdate @ blueocean.js:82233ReactComponent.forceUpdate @ blueocean.js:73612(anonymous function) @ jenkins-js-extension.js:5455Reaction.runReaction @ jenkins-js-extension.js:7405runReactions @ blueocean.js:54629transactionEnd @ blueocean.js:54701executeAction @ blueocean.js:53952res @ blueocean.js:53920(anonymous function) @ blueocean.js:2724
      jenkins-js-extension.js:29008 error Error: Not Found(…)
      

      In Scope:

      • Runing should refresh the result page correctly and follow along
      • Enhance the ATH test to check that karaoke works when re-running in this way

      Attachments

        Issue Links

          Activity

            michaelneale Michael Neale added a comment -

            This is more obviously an issue when https://github.com/jenkinsci/blueocean-plugin/pull/585 is merged BTW.

            michaelneale Michael Neale added a comment - This is more obviously an issue when https://github.com/jenkinsci/blueocean-plugin/pull/585 is merged BTW.
            michaelneale Michael Neale added a comment -

            imeredith just giving this to you so you can co-ordinate looking at it with Thor

            michaelneale Michael Neale added a comment - imeredith just giving this to you so you can co-ordinate looking at it with Thor
            kzantow Keith Zantow added a comment -

            FYI, using a pipeline with this script to test:

            def lines = """
            Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Pellentesque porttitor dui eget ante congue blandit.
            Nullam vel purus a leo luctus accumsan nec nec risus.
            Vestibulum varius mauris vel odio malesuada scelerisque.
            Vivamus sed ligula ac tortor cursus faucibus elementum sit amet est.
            """.split('\n');
            echo "First... "
            for (def i = 0; i < 30; i++) {
                if (i % 5 == 0) {
                    stage "Stage ${i}"
                }
                echo lines[i%lines.length];
                Thread.sleep(500);
            }
            
            throw new Exception('Oh noes, this failed so I can click re-run')
            
            kzantow Keith Zantow added a comment - FYI, using a pipeline with this script to test: def lines = """ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque porttitor dui eget ante congue blandit. Nullam vel purus a leo luctus accumsan nec nec risus. Vestibulum varius mauris vel odio malesuada scelerisque. Vivamus sed ligula ac tortor cursus faucibus elementum sit amet est. """.split( '\n' ); echo "First... " for (def i = 0; i < 30; i++) { if (i % 5 == 0) { stage "Stage ${i}" } echo lines[i%lines.length]; Thread .sleep(500); } throw new Exception( 'Oh noes, this failed so I can click re-run' )
            michaelneale Michael Neale added a comment -

            I am pretty sure this wasn't broken when running not via hpi:run. I was able to re-run the same pipeline from both hpi:run and the production way - and one didn't work, the other did.

            The ATH obviously tests the production way... anyway. This is done now once merged.

            michaelneale Michael Neale added a comment - I am pretty sure this wasn't broken when running not via hpi:run. I was able to re-run the same pipeline from both hpi:run and the production way - and one didn't work, the other did. The ATH obviously tests the production way... anyway. This is done now once merged.

            People

              kzantow Keith Zantow
              michaelneale Michael Neale
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: