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.

          Code changed in jenkins
          User: James Nord
          Path:
          src/test/java/CompatibilityTest.java
          http://jenkins-ci.org/commit/bytecode-compatibility-transformer/15c2985b2908f8b80875372d3a9e286c4872e30b
          Log:
          Test case for JENKINS-28799

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: James Nord Path: src/test/java/CompatibilityTest.java http://jenkins-ci.org/commit/bytecode-compatibility-transformer/15c2985b2908f8b80875372d3a9e286c4872e30b Log: Test case for JENKINS-28799
          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 ]

          Code changed in jenkins
          User: James Nord
          Path:
          src/test/java/CompatibilityTest.java
          http://jenkins-ci.org/commit/bytecode-compatibility-transformer/c14f6a88f266558c2a116eca7fe6b96ef012d0d1
          Log:
          Merge pull request #3 from jenkinsci/JENKINS-28799

          Test case for JENKINS-28799

          Compare: https://github.com/jenkinsci/bytecode-compatibility-transformer/compare/c50a41dba493...c14f6a88f266

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: James Nord Path: src/test/java/CompatibilityTest.java http://jenkins-ci.org/commit/bytecode-compatibility-transformer/c14f6a88f266558c2a116eca7fe6b96ef012d0d1 Log: Merge pull request #3 from jenkinsci/ JENKINS-28799 Test case for JENKINS-28799 Compare: https://github.com/jenkinsci/bytecode-compatibility-transformer/compare/c50a41dba493...c14f6a88f266
          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 ]

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

              Created:
              Updated:
              Resolved: