Results 4 comments of Charles

I installed boost with boost_1_62_0.tar.gz. Is there anything else that needs to be done?

Thanks, it's build successfully

目标进程进入了死循环,流程如下: 1. 首先arthas拦截了目标进程中java.security.Policy实现方法implies,这里目标进程是ES,实现类是org.elasticsearch.bootstrap.ESPolicy。 2. 进入com.taobao.arthas.core.advisor.SpyImpl遇到clazz.getClassLoader(),该方法会进行java.lang.RuntimePermission "getClassLoader"权限校验。 3. 调取目标进程中java.security.Policy.implies,重复进入arthas SpyImpl。 4. 最后陷入死循环。 java.lang.StackOverflowError: null at java.security.ProtectionDomain.implies(ProtectionDomain.java:279) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:450) at java.security.AccessController.checkPermission(AccessController.java:884) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at java.lang.ClassLoader.checkClassLoaderPermission(ClassLoader.java:1528) at java.lang.Class.getClassLoader(Class.java:683) at com.taobao.arthas.core.advisor.SpyImpl.atEnter(SpyImpl.java:28) at java.arthas.SpyAPI.atEnter(SpyAPI.java:59) at...

解决办法,定制SecureSM的checkPermission方法,跳过检查 @Override public void checkPermission(Permission perm) { // just for arthas if (perm instanceof RuntimePermission && "getClassLoader".equals(perm.getName())) { for (StackTraceElement element : Thread.currentThread().getStackTrace()) { if ("java.arthas.SpyAPI".equals(element.getClassName())) { return; } }...