[alibaba/arthas]jad 反编译 netty的 NioEventLoop出错

2025-11-12 821 views
1
环境信息
  • arthas-boot.jar 或者 as.sh 的版本: 3.5.1
  • Arthas 版本: 3.5.1
  • 操作系统版本: macos big sur 11.2.3
  • 目标进程的JVM版本: 1.8.0_261
  • 执行arthas-boot的版本: 3.5.1

实际运行结果,最好有详细的日志,异常栈。尽量贴文本。

/*
             * Exception decompiling
             */
            @Override
            protected void run() {
                /*
                 * This method has failed to decompile.  When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
                 *
                 * org.benf.cfr.reader.util.ConfusedCFRException: Tried to end blocks [15[SWITCH], 17[CASE]], but top level block is 3[TRYBLOCK]
                 *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.processEndingBlocks(Op04StructuredStatement.java:435)
                 *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:484)
                 *     at org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:736)
                 *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:845)
                 *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:278)
                 *     at org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:201)
                 *     at org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:94)
                 *     at org.benf.cfr.reader.entities.Method.analyse(Method.java:531)
                 *     at org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:1042)
                 *     at org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:929)
                 *     at org.benf.cfr.reader.Driver.doClass(Driver.java:84)
                 *     at org.benf.cfr.reader.CfrDriverImpl.analyse(CfrDriverImpl.java:75)
                 *     at com.taobao.arthas.core.util.Decompiler.decompileWithMappings(Decompiler.java:89)
                 *     at com.taobao.arthas.core.command.klass100.JadCommand.processExactMatch(JadCommand.java:182)
                 *     at com.taobao.arthas.core.command.klass100.JadCommand.process(JadCommand.java:158)
                 *     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:385)
                 *     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                 *     at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
                 *     at java.util.concurrent.FutureTask.run(FutureTask.java)
                 *     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)
                 */
                throw new IllegalStateException("Decompilation failed");
            }

回答

1

给官方提issue了,后续看官方处理。