avoid retransform lambda class. #1512

This commit is contained in:
hengyunabc
2020-09-27 19:03:11 +08:00
parent 4b2d182518
commit 4abcac9b65
@@ -21,13 +21,16 @@ public class InstrumentationUtils {
inst.addTransformer(transformer, true);
for (Class<?> clazz : classes) {
if (ClassUtils.isLambdaClass(clazz)) {
logger.info(
"ignore lambda class: {}, because jdk do not support retransform lambda class: https://github.com/alibaba/arthas/issues/1512.",
clazz.getName());
continue;
}
try {
inst.retransformClasses(clazz);
} catch (Throwable e) {
String errorMsg = "retransformClasses class error, name: " + clazz.getName();
if (ClassUtils.isLambdaClass(clazz) && e instanceof VerifyError) {
errorMsg += ", Please ignore lambda class VerifyError: https://github.com/alibaba/arthas/issues/675";
}
logger.error(errorMsg, e);
}
}