From 4abcac9b65dd9e36cca89db5f95a5e004a94d505 Mon Sep 17 00:00:00 2001 From: hengyunabc Date: Sun, 27 Sep 2020 19:03:11 +0800 Subject: [PATCH] avoid retransform lambda class. #1512 --- .../taobao/arthas/core/util/InstrumentationUtils.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/taobao/arthas/core/util/InstrumentationUtils.java b/core/src/main/java/com/taobao/arthas/core/util/InstrumentationUtils.java index 93a3fbeba..51b781a1f 100644 --- a/core/src/main/java/com/taobao/arthas/core/util/InstrumentationUtils.java +++ b/core/src/main/java/com/taobao/arthas/core/util/InstrumentationUtils.java @@ -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); } }