diff --git a/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java b/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java index d9a9a31ed..debcf8442 100644 --- a/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java +++ b/core/src/main/java/com/taobao/arthas/core/server/ArthasBootstrap.java @@ -33,6 +33,8 @@ import com.alibaba.bytekit.asm.instrument.InstrumentTransformer; import com.alibaba.bytekit.asm.matcher.SimpleClassMatcher; import com.alibaba.bytekit.utils.AsmUtils; import com.alibaba.bytekit.utils.IOUtils; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.taobao.arthas.common.AnsiLog; import com.taobao.arthas.common.ArthasConstants; import com.taobao.arthas.common.PidUtils; @@ -65,7 +67,6 @@ import com.taobao.arthas.core.util.ArthasBanner; import com.taobao.arthas.core.util.FileUtils; import com.taobao.arthas.core.util.InstrumentationUtils; import com.taobao.arthas.core.util.LogUtil; -import com.taobao.arthas.core.util.StringUtils; import com.taobao.arthas.core.util.UserStatUtil; import com.taobao.arthas.core.util.affect.EnhancerAffect; import com.taobao.arthas.core.util.matcher.WildcardMatcher; @@ -125,6 +126,9 @@ public class ArthasBootstrap { arthasOutputDir = new File(outputPath); arthasOutputDir.mkdirs(); + // disable fastjson circular reference feature + JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.DisableCircularReferenceDetect.getMask(); + // 1. initSpy() initSpy(); // 2. ArthasEnvironment