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

IndexOutOfBoundsException in MarkupText caused by (Model)HyperlinkNote

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Similar Issues:

      Description

      Very similar to JENKINS-23697, but caused by creating a hyperlink note where the link text contains newline characters. When the note is encoded, the newlines count towards the length, but when the note is being read back via ConsoleAnnotationOutputStream, the data is split at each newline, so the length encoded in the note does not match what the stream sees, causing the IndexOutOfBoundsException.

      One way this could happen is if a build's display name is edited by a user to contain newlines, and then that build is passed to ModelHyperlinkNote#encodeTo. A workaround in that case would be to remove the newlines from the build's display name.

      Here is an example stack trace of the problem:

      java.lang.IndexOutOfBoundsException
      	at hudson.MarkupText.rangeCheck(MarkupText.java:276)
      	at hudson.MarkupText.addMarkup(MarkupText.java:259)
      	at hudson.console.HyperlinkNote.annotate(HyperlinkNote.java:69)
      	at hudson.console.ConsoleAnnotationOutputStream$1.annotate(ConsoleAnnotationOutputStream.java:115)
      	at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:145)
      	at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
      	at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
      	at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
              ...
      

        Attachments

          Issue Links

            Activity

            Hide
            dnusbaum Devin Nusbaum added a comment -

            Fix released in Jenkins Core 2.139, see https://jenkins.io/changelog/#v2.139.

            Show
            dnusbaum Devin Nusbaum added a comment - Fix released in Jenkins Core 2.139, see https://jenkins.io/changelog/#v2.139 .

              People

              • Assignee:
                dnusbaum Devin Nusbaum
                Reporter:
                dnusbaum Devin Nusbaum
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: