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

bytecode-compatibility-transformer transforming methods/fields it should not be transforming

    • 2.296

      In the case where we see this issue, an @AdaptField annotation on Queue.Item was causing transformations in other classes not intended for transformation (in our case, in an elasticsearch class). The result of this transformation was a StackMapFrame verifier error.

      This issue relates to the bytecode transormer transforming classes that need not be transformed.

          [JENKINS-28799] bytecode-compatibility-transformer transforming methods/fields it should not be transforming

          James Nord created issue -
          James Nord made changes -
          Link New: This issue is related to JENKINS-28781 [ JENKINS-28781 ]
          James Nord made changes -
          Description Original: In the case where we see this issue, an [@AdaptField annotation on Queue.Item|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Queue.java#L1753-L1762] was causing transformations in other classes not intended for transformation (in our case, in an elasticsearch class). The result of this transformation was a StackMapFrame verifier error.

          So there may actually be 2 or 3 bugs that need to be spun out from this:

          # The bytecode transformer is transforming methods/fields that it should not be transforming.
          # And one or both of the following:
          #* bytecode-compatibility-transformer doesn't properly support updating of StackMapFrames after manipulation.
          #* bytecode-compatibility-transformer does support updating of StackMapFrames after manipulation, but Jenkins core is not using that properly.

          It does look as though bytecode-compatibility-transformer has some support for StackMapFrames.
          New: In the case where we see this issue, an [@AdaptField annotation on Queue.Item|https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Queue.java#L1753-L1762] was causing transformations in other classes not intended for transformation (in our case, in an elasticsearch class). The result of this transformation was a StackMapFrame verifier error.

          This issue relates to the bytecode transormer transforming classes that need not be transformed.
          Cara Harmon made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]
          James Nord made changes -
          Link New: This issue is related to JENKINS-30820 [ JENKINS-30820 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 163658 ] New: JNJira + In-Review [ 185610 ]
          James Nord made changes -
          Assignee Original: James Nord [ teilo ]
          James Nord made changes -
          Status Original: In Progress [ 3 ] New: Open [ 1 ]
          Basil Crow made changes -
          Released As New: 2.296
          Resolution New: Not A Defect [ 7 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]

            Unassigned Unassigned
            teilo James Nord
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: