Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Component/s: core
-
Similar Issues:
Description
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 tracks the tracks:
-
- bytecode-compatibility-transformer doesn't properly support updating of StackMapFrames after manipulation.
Attachments
Issue Links
- is duplicated by
-
JENKINS-30665 JDK 7 (or above) compiled classes cannot be used with Jenkins 1.601 and above
-
- Resolved
-
- is related to
-
JENKINS-19383 Bytecode compatibility transformer mistakenly corrupts org.apache.ivy.core.settings.IvySettings.triggers
-
- Resolved
-
-
JENKINS-28799 bytecode-compatibility-transformer transforming methods/fields it should not be transforming
-
- Open
-
-
JENKINS-29692 targetCompatibility Gradle setting is ignored by Gradle JPI plugin and default Java is used
-
- Closed
-
-
JENKINS-30820 plugin failures after upgrade of bytecode-compatability-transformer
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
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 a transformation in a different class (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: #* Jenkins core use of the bytecode transformer is not specifying to update StackMapFrame after transformations/rewrites. #* bytecode transformer is not performing StackMapFrame updates after transformations/rewrites. |
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: #* Jenkins core use of the bytecode transformer is not specifying to update StackMapFrame after transformations/rewrites. #* bytecode transformer is not performing StackMapFrame updates after transformations/rewrites. |
Description |
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: #* Jenkins core use of the bytecode transformer is not specifying to update StackMapFrame after transformations/rewrites. #* bytecode transformer is not performing StackMapFrame updates after transformations/rewrites. |
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 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. |
Description |
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 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. |
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. |
Assignee | Kohsuke Kawaguchi [ kohsuke ] | James Nord [ teilo ] |
Link |
This issue is related to |
Link | This issue is related to JENKINS-28799 [ JENKINS-28799 ] |
Summary | bytecode-compatibility-transformer transforming methods/fields it should not be transforming | bytecode-compatibility-transformer produces malformed bytecode |
Description |
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. |
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 tracks the tracks: #* bytecode-compatibility-transformer doesn't properly support updating of StackMapFrames after manipulation. |
Link |
This issue is related to |
Link |
This issue is related to |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Link |
This issue is duplicated by |
Workflow | JNJira [ 163639 ] | JNJira + In-Review [ 208856 ] |
Assignee | James Nord [ teilo ] |
There are 2 issues that are seemingly at play here.
1) the affected class does not use any of the Jenkins API and should not have been transformed.
2) the transformer is producing a class that is broken.