Thanks to visit codestin.com
Credit goes to github.com

Skip to content

trace命令追踪native函数报错 #1565

@yhf20071

Description

@yhf20071
  • 我已经在 issues 里搜索,没有重复的issue。

环境信息

  • arthas-boot.jar 或者 as.sh 的版本: 3.3.2
  • Arthas 版本: 3.3.2
  • 操作系统版本: centos7.8
  • 目标进程的JVM版本: 1.8.0_211
  • 执行arthas-boot的版本: 3.3.2

重现问题的步骤

  1. trace java.security.AccessController doPrivileged

期望的结果

实际运行的结果

[arthas@21757]$ options unsafe true
NAME    BEFORE-VALUE  AFTER-VALUE                                                                                                                                      
-----------------------------------                                                                                                                                     
unsafe  true          true                                                                                                                                             
[arthas@21757]$ trace java.security.AccessController doPrivileged
Affect(class count: 0 , method count: 1) cost in 135 ms, listenerId: 11
Enhance error! exception: java.lang.NullPointerException, check arthas log: /home/hdfs/logs/arthas/arthas.log
[arthas@21757]$


2020-11-04 17:04:40 [nioEventLoopGroup-2-1] INFO  i.n.handler.logging.LoggingHandler -[id: 0x99d8010c, L:/127.0.0.1:3658] READ: [id: 0x1cb47198, L:/127.0.0.1:3658 - R:/127.0.0.1:49544]
2020-11-04 17:04:40 [nioEventLoopGroup-2-1] INFO  i.n.handler.logging.LoggingHandler -[id: 0x99d8010c, L:/127.0.0.1:3658] READ COMPLETE
2020-11-04 17:04:40 [nioEventLoopGroup-2-5] INFO  c.t.a.core.shell.term.impl.Helper -Loaded arthas keymap file from com/taobao/arthas/core/shell/term/readline/inputrc
2020-11-04 17:05:29 [as-command-execute-daemon] INFO  c.t.arthas.core.advisor.Enhancer -enhance matched classes: [class java.security.AccessController]
2020-11-04 17:05:29 [as-command-execute-daemon] WARN  c.t.arthas.core.advisor.Enhancer -transform loader[null]:class[java/security/AccessController] failed.
java.lang.NullPointerException: null
        at com.alibaba.arthas.deps.org.objectweb.asm.tree.InsnList.insertBefore(InsnList.java:365)
        at com.taobao.arthas.bytekit.asm.MethodProcessor.<init>(MethodProcessor.java:151)
        at com.taobao.arthas.bytekit.asm.MethodProcessor.<init>(MethodProcessor.java:128)
        at com.taobao.arthas.bytekit.asm.MethodProcessor.<init>(MethodProcessor.java:123)
        at com.taobao.arthas.core.advisor.Enhancer.transform(Enhancer.java:277)
        at com.taobao.arthas.core.advisor.TransformerManager$1.transform(TransformerManager.java:41)
        at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
        at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
        at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
        at com.taobao.arthas.core.advisor.Enhancer.enhance(Enhancer.java:443)
        at com.taobao.arthas.core.command.monitor200.EnhancerCommand.enhance(EnhancerCommand.java:135)
        at com.taobao.arthas.core.command.monitor200.EnhancerCommand.process(EnhancerCommand.java:87)
        at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.process(AnnotatedCommandImpl.java:82)
        at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.access$100(AnnotatedCommandImpl.java:18)
        at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:111)
        at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:108)
        at com.taobao.arthas.core.shell.system.impl.ProcessImpl$CommandProcessTask.run(ProcessImpl.java:372)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2020-11-04 17:05:29 [as-command-execute-daemon] INFO  c.t.arthas.core.advisor.Enhancer -Success to batch transform classes: [class java.security.AccessController]
2020-11-04 17:05:56 [nioEventLoopGroup-2-5] INFO  c.t.a.c.shell.impl.ShellServerImpl -Session 181f8ac9-705d-4f8c-a129-a9b6ddc12adf closed, so terminate foreground job,
id: 16, line: trace java.security.AccessController doPrivileged

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions