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

Link to the console output missing in popup when log >200Kb

      When looking into the popup in the breadcrumb of the lastBuild of a particular job, there is a link to the console of the last build (GOOD). See for example, the popup of the breadcrumb in https://buildhive.cloudbees.com/job/cgeo/job/c-geo-opensource/lastBuild/

      And there is also a link to the lastBuild console in the popup of the lastBuild permalink in this job page (GOOD).
      See for example, the "good.png" attached screenshot.

      But in some other job (log file larger than 200000 probably), there is no link to the console of the last build in the breadcrumb of the lastBuild page (BAD).
      See for example, the popup of the breadcrumb in https://buildhive.cloudbees.com/job/Atmosphere/job/atmosphere/lastBuild/

      And in the job page of the same job, there is no link to the lastBuild console in the popup of the lastBuild permalink in the same job page (BAD).
      See for exampe, the "BAD.png" attached screenshot.

        1. BAD.png
          BAD.png
          90 kB
        2. good.png
          good.png
          85 kB

          [JENKINS-14264] Link to the console output missing in popup when log >200Kb

          evernat added a comment - - edited

          After more tests, this does not depend on the types of jobs (freestyle or maven).
          But it depends on the fact that there is "Console Ouput" or "Console Output [raw]" in the actions on the left.

          And so, it seems to be because "Console Output [raw]" is rendered directly in tasks.jelly when the log file is larger than 200000, whereas "Console Output" is rendered by <l:task>.

          See https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly#L34

          evernat added a comment - - edited After more tests, this does not depend on the types of jobs (freestyle or maven). But it depends on the fact that there is "Console Ouput" or "Console Output [raw] " in the actions on the left. And so, it seems to be because "Console Output [raw] " is rendered directly in tasks.jelly when the log file is larger than 200000, whereas "Console Output" is rendered by <l:task>. See https://github.com/jenkinsci/jenkins/blob/master/core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly#L34

          mike bayer added a comment - - edited

          this issue has driven me completely mad for months, and I just identified tonight that it is in fact two different "classes" of console output, based on the size of the log, and then from that "class" you get two entirely different UX treatments - the presence or lack of a "breadcrumb" link to the console output (why is the contextual popup called a "breadcrumb?" not really a breadcrumb...), as well as either "console output ... view as plain text" on the left for small logs or "console output [raw]" for large logs when you view the build itself.

          evernat seems to have identified this size as 200K, sounds about right - why isn't this hardcoded number configurable or documented anywhere ? why two entirely different sets of logic kicking in? why can't jenkins pay for all the psychiatric meds this issue has caused me? so many questions.... thanks for listening.

          mike bayer added a comment - - edited this issue has driven me completely mad for months, and I just identified tonight that it is in fact two different "classes" of console output, based on the size of the log, and then from that "class" you get two entirely different UX treatments - the presence or lack of a "breadcrumb" link to the console output (why is the contextual popup called a "breadcrumb?" not really a breadcrumb...), as well as either "console output ... view as plain text" on the left for small logs or "console output [raw] " for large logs when you view the build itself. evernat seems to have identified this size as 200K, sounds about right - why isn't this hardcoded number configurable or documented anywhere ? why two entirely different sets of logic kicking in? why can't jenkins pay for all the psychiatric meds this issue has caused me? so many questions.... thanks for listening.

          evernat added a comment -

          @mike bayer
          > why is the contextual popup called a "breadcrumb?"
          I mean the contextual popup/menu of the breadcrumb and also of the permalinks like lastBuild

          For your psychiatric meds: sorry, jenkins can't pay you back. But if you go to some jenkins conference, a jenkins sticker can certainly be offered.

          evernat added a comment - @mike bayer > why is the contextual popup called a "breadcrumb?" I mean the contextual popup/menu of the breadcrumb and also of the permalinks like lastBuild For your psychiatric meds: sorry, jenkins can't pay you back. But if you go to some jenkins conference, a jenkins sticker can certainly be offered.

          Jesse Glick added a comment -

          Not specific to breadcrumbs, true anywhere the context menu is displayed.

          Jesse Glick added a comment - Not specific to breadcrumbs, true anywhere the context menu is displayed.

          a 2year very-visible bug is still open

          Andrei Neculau added a comment - a 2year very-visible bug is still open

          Code changed in jenkins
          User: Jesse Glick
          Path:
          changelog.html
          core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly
          http://jenkins-ci.org/commit/jenkins/87e2d32faa4f4de9793c7cfcdc365baceedb0411
          Log:
          [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly http://jenkins-ci.org/commit/jenkins/87e2d32faa4f4de9793c7cfcdc365baceedb0411 Log: [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly
          core/src/main/resources/lib/hudson/project/console-link.jelly
          http://jenkins-ci.org/commit/jenkins/9404759d0d76951372688c02100fbfc5f383ff6d
          Log:
          JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs.

          Compare: https://github.com/jenkinsci/jenkins/compare/c3a2dae75195...9404759d0d76

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly core/src/main/resources/lib/hudson/project/console-link.jelly http://jenkins-ci.org/commit/jenkins/9404759d0d76951372688c02100fbfc5f383ff6d Log: JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs. Compare: https://github.com/jenkinsci/jenkins/compare/c3a2dae75195...9404759d0d76

          Jesse Glick added a comment -

          If accepted for backport, only the first commit is needed for the fix (though the second is probably low risk too).

          Jesse Glick added a comment - If accepted for backport, only the first commit is needed for the fix (though the second is probably low risk too).

          dogfood added a comment -

          Integrated in jenkins_main_trunk #3473
          [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu. (Revision 87e2d32faa4f4de9793c7cfcdc365baceedb0411)
          JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs. (Revision 9404759d0d76951372688c02100fbfc5f383ff6d)

          Result = SUCCESS
          Jesse Glick : 87e2d32faa4f4de9793c7cfcdc365baceedb0411
          Files :

          • core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly
          • changelog.html

          Jesse Glick : 9404759d0d76951372688c02100fbfc5f383ff6d
          Files :

          • core/src/main/resources/lib/hudson/project/console-link.jelly
          • core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly

          dogfood added a comment - Integrated in jenkins_main_trunk #3473 [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu. (Revision 87e2d32faa4f4de9793c7cfcdc365baceedb0411) JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs. (Revision 9404759d0d76951372688c02100fbfc5f383ff6d) Result = SUCCESS Jesse Glick : 87e2d32faa4f4de9793c7cfcdc365baceedb0411 Files : core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly changelog.html Jesse Glick : 9404759d0d76951372688c02100fbfc5f383ff6d Files : core/src/main/resources/lib/hudson/project/console-link.jelly core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly

          Jesse Glick added a comment - - edited

          Assigning back to myself, not sure why @danielbeck took it.

          Jesse Glick added a comment - - edited Assigning back to myself, not sure why @danielbeck took it.

          Daniel Beck added a comment -

          No idea why I did that, possibly because I had an outdated web page open. Sorry.

          Daniel Beck added a comment - No idea why I did that, possibly because I had an outdated web page open. Sorry.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly
          http://jenkins-ci.org/commit/jenkins/001e51e87ceff6d02b8dbaf4d632eac55d4de47d
          Log:
          [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu.
          (cherry picked from commit 87e2d32faa4f4de9793c7cfcdc365baceedb0411)

          Conflicts:
          changelog.html

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly http://jenkins-ci.org/commit/jenkins/001e51e87ceff6d02b8dbaf4d632eac55d4de47d Log: [FIXED JENKINS-14264] For logs >200Kb, just show two <t:task>s without nesting, for proper interoperability with the context menu. (cherry picked from commit 87e2d32faa4f4de9793c7cfcdc365baceedb0411) Conflicts: changelog.html

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly
          core/src/main/resources/lib/hudson/project/console-link.jelly
          http://jenkins-ci.org/commit/jenkins/8f576cda1d7dcf3f71803e2fe2f5eb4b3f3340df
          Log:
          JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs.
          (cherry picked from commit 9404759d0d76951372688c02100fbfc5f383ff6d)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/resources/hudson/model/AbstractBuild/tasks.jelly core/src/main/resources/lib/hudson/project/console-link.jelly http://jenkins-ci.org/commit/jenkins/8f576cda1d7dcf3f71803e2fe2f5eb4b3f3340df Log: JENKINS-14264 Factor out console-link.jelly for ease of reuse from other run types with logs. (cherry picked from commit 9404759d0d76951372688c02100fbfc5f383ff6d)

            jglick Jesse Glick
            evernat evernat
            Votes:
            6 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: