wu-sheng commented on a change in pull request #4858: URL: https://github.com/apache/skywalking/pull/4858#discussion_r448050971
########## File path: docs/en/FAQ/Compatible-with-other-javaagent-bytecode-processing.md ########## @@ -0,0 +1,53 @@ +## Compatible with other javaagent bytecode processing + +### Problem +1. when use skywalking agent, arthas can't work well +https://github.com/apache/skywalking/pull/4858 + +2. Custom java agent retransform class fails with Skywalking agent + https://github.com/hengyunabc/skywalking-error-demo + +### Reason +Skywalking agent uses ByteBuddy to retransform classes when java application starts. +ByteBuddy generates auxiliary classes with different random names every time. + +When other javaagent retransforms the same class, it will trigger the SkyWalking agent to enhance the class again. +The bytecode regenerated by ByteBuddy is changed, the fields and imports are modified, the jvm verifys class bytecode failed, and the retransform fails. Review comment: ```suggestion The bytecode regenerated by ByteBuddy is changed, the fields are modified, the JVM verifications about class bytecode fail, causing the retransform fails. ``` I think there is no `imports` in the byte codes level. All classes are in the full name. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
