alibaba / arthas

Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas
https://arthas.aliyun.com/
Apache License 2.0
35.64k stars 7.49k forks source link

arthas 4.0.1 jdk 1.8.0_411 profile start crash #2909

Closed remind closed 3 weeks ago

remind commented 1 month ago

有一个类似的:https://github.com/alibaba/arthas/issues/2824 ,版本不一样,也没有解决

环境信息

重现问题的步骤

  1. 启动math-game
  2. 启动arthas
  3. 执行命令profiler start

期望的结果

正常采集

实际运行的结果

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

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fba8702d6e2, pid=85, tid=0x00007fba871fe640
#
# JRE version: Java(TM) SE Runtime Environment (8.0_411) (build 1.8.0_411-b09)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.411-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [ArthasJniLibrary5451849241655997318.tmp+0x9f6e2]  Symbols::parseLibraries(CodeCacheArray*, bool)+0xee2
#
# Core dump written. Default location: /app/core.85
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x00007fba058ae800):  JavaThread "arthas-command-execute" daemon [_thread_in_native, id=361, stack(0x00007fba870ff000,0x00007fba871ff000)]

siginfo: si_signo: 11 (SIGSEGV), si_code: 128 (SI_KERNEL), si_addr: 0x0000000000000000

Registers:
RAX=0x0000000000000048, RBX=0x00007fb9e47fdd50, RCX=0x00007fbb32abb040, RDX=0x0000000000000000
RSP=0x00007fba871fc8e0, RBP=0x00007fba871fcb10, RSI=0x0000ff766557a018, RDI=0x0000000000000018
R8 =0xffffffffffffffff, R9 =0x0000ff7665576648, R10=0x00000000000000a8, R11=0x00007fba870af238
R12=0x00007fb9e4159299, R13=0x00007fbb32abb000, R14=0x000000000000000b, R15=0x0000000000000038
RIP=0x00007fba8702d6e2, EFLAGS=0x0000000000010286, CSGSFS=0x002b000000000033, ERR=0x0000000000000000
  TRAPNO=0x000000000000000d

Top of Stack: (sp=0x00007fba871fc8e0)
0x00007fba871fc8e0:   00007fba871fcb80 00000007e400f5a0
0x00007fba871fc8f0:   00007fbb32a8117c 000000400000015c
0x00007fba871fc900:   00007fba871fca48 00007fbb32aa6684
0x00007fba871fc910:   00000000001a0940 00007fbb32a8117c
0x00007fba871fc920:   00000001ffffffd0 00007fbb32a79d0c
0x00007fba871fc930:   00007fbb32abefe0 00007fba871fc990
0x00007fba871fc940:   00007fb9e4024810 00007fbb32abd000
0x00007fba871fc950:   00007fbb32abb000 00007fba871fc980
0x00007fba871fc960:   00007fb9e4001bb0 00007fba871fc988
0x00007fba871fc970:   0000000000000003 00007fbb32abb000
0x00007fba871fc980:   00007fb9e4159250 00000000000000f0
0x00007fba871fc990:   00007fb9e415927a 00007fbb328b2000
0x00007fba871fc9a0:   00007fbb32aa6684 000059f500008000
0x00007fba871fc9b0:   00007fb9e479d050 00007fb9e47e07c0
0x00007fba871fc9c0:   fffffff800000001 00007fbb322c9524
0x00007fba871fc9d0:   0000000000000002 00007fbb32aeb5c5
0x00007fba871fc9e0:   000000008e8223e2 0000000000000000
0x00007fba871fc9f0:   00007fb9e4005b90 0000000000000000
0x00007fba871fca00:   000000000000000b 0000000000000007
0x00007fba871fca10:   00007fba871fcb80 5069c1a4dbbbb100
0x00007fba871fca20:   00007fba871fca88 00007fbb32a0bdc3
0x00007fba871fca30:   0000000000000000 0000000000000000
0x00007fba871fca40:   0000000000000000 5069c1a4dbbbb100
0x00007fba871fca50:   ffffffffffffffb0 0000000000000000
0x00007fba871fca60:   00007fbb32b11c40 00007fbb3293b1be
0x00007fba871fca70:   00007fbb32b11c40 00007fbb3293b1be
0x00007fba871fca80:   0100000000000016 0000000000000000
0x00007fba871fca90:   0000000000000000 5069c1a4dbbbb100
0x00007fba871fcaa0:   00007fbb32b13040 00007fba871fce60
0x00007fba871fcab0:   0000000000000000 00007fba871fcb80
0x00007fba871fcac0:   00007fb9e400f5a0 00007fbb3293b80b
0x00007fba871fcad0:   000055d3f2fe87b0 5069c1a4dbbbb100 

Instructions: (pc=0x00007fba8702d6e2)
0x00007fba8702d6c2:   0f 84 72 fd ff ff 48 8b 85 60 fe ff ff 48 0f af
0x00007fba8702d6d2:   c7 4c 39 d0 0f 83 5e fd ff ff 31 d2 49 83 c8 ff
0x00007fba8702d6e2:   41 83 7c 01 08 06 75 15 4d 8b 1c 01 4d 01 eb 4d
0x00007fba8702d6f2:   39 d8 4d 0f 47 c3 4c 39 da 49 0f 42 d3 48 01 f8 

Register to memory mapping:

RAX=0x0000000000000048 is an unknown value
RBX=0x00007fb9e47fdd50 is an unknown value
RCX=0x00007fbb32abb040: <offset 0x40> in /usr/glibc-compat/lib/libdl.so.2 at 0x00007fbb32abb000
RDX=0x0000000000000000 is an unknown value
RSP=0x00007fba871fc8e0 is pointing into the stack for thread: 0x00007fba058ae800
RBP=0x00007fba871fcb10 is pointing into the stack for thread: 0x00007fba058ae800
RSI=0x0000ff766557a018 is an unknown value
RDI=0x0000000000000018 is an unknown value
R8 =0xffffffffffffffff is an unknown value
R9 =0x0000ff7665576648 is an unknown value
R10=0x00000000000000a8 is an unknown value
R11=0x00007fba870af238: <offset 0x121238> in /tmp/ArthasJniLibrary5451849241655997318.tmp at 0x00007fba86f8e000
R12=0x00007fb9e4159299 is an unknown value
R13=0x00007fbb32abb000: <offset 0> in /usr/glibc-compat/lib/libdl.so.2 at 0x00007fbb32abb000
R14=0x000000000000000b is an unknown value
R15=0x0000000000000038 is an unknown value

Stack: [0x00007fba870ff000,0x00007fba871ff000],  sp=0x00007fba871fc8e0,  free space=1014k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ArthasJniLibrary5451849241655997318.tmp+0x9f6e2]  Symbols::parseLibraries(CodeCacheArray*, bool)+0xee2
C  [ArthasJniLibrary5451849241655997318.tmp+0xab9e9]  VM::init(JavaVM_*, bool) [clone .part.0]+0x169
C  [ArthasJniLibrary5451849241655997318.tmp+0xb7df7]  JNI_OnLoad+0x287
C  [libjava.so+0xde1d]  Java_java_lang_ClassLoader_00024NativeLibrary_load+0xbd
j  java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;ZZ)V+0
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+337
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j  java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j  java.lang.System.load(Ljava/lang/String;)V+7
j  one.profiler.AsyncProfiler.getInstance(Ljava/lang/String;)Lone/profiler/AsyncProfiler;+23
j  com.taobao.arthas.core.command.monitor200.ProfilerCommand.profilerInstance()Lone/profiler/AsyncProfiler;+161
j  com.taobao.arthas.core.command.monitor200.ProfilerCommand.process(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+43
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.process(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+34
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.access$100(Lcom/taobao/arthas/core/shell/command/impl/AnnotatedCommandImpl;Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+2
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+5
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(Ljava/lang/Object;)V+5
j  com.taobao.arthas.core.shell.system.impl.ProcessImpl$CommandProcessTask.run()V+11
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4
j  java.util.concurrent.FutureTask.run()V+42
j  java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;)V+1
j  java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V+30
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [libjvm.so+0x67eedd]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0xc9d
V  [libjvm.so+0x67c737]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x247
V  [libjvm.so+0x67ccfd]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x5d
V  [libjvm.so+0x6f106f]  thread_entry(JavaThread*, Thread*)+0x9f
V  [libjvm.so+0xa6243d]  JavaThread::thread_main_inner()+0xfd
V  [libjvm.so+0x90fb50]  java_start(Thread*)+0x150
C  [libc.so.6+0x8d49a]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;ZZ)V+0
j  java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+337
j  java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j  java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j  java.lang.System.load(Ljava/lang/String;)V+7
j  one.profiler.AsyncProfiler.getInstance(Ljava/lang/String;)Lone/profiler/AsyncProfiler;+23
j  com.taobao.arthas.core.command.monitor200.ProfilerCommand.profilerInstance()Lone/profiler/AsyncProfiler;+161
j  com.taobao.arthas.core.command.monitor200.ProfilerCommand.process(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+43
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.process(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+34
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.access$100(Lcom/taobao/arthas/core/shell/command/impl/AnnotatedCommandImpl;Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+2
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(Lcom/taobao/arthas/core/shell/command/CommandProcess;)V+5
j  com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(Ljava/lang/Object;)V+5
j  com.taobao.arthas.core.shell.system.impl.ProcessImpl$CommandProcessTask.run()V+11
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4
j  java.util.concurrent.FutureTask.run()V+42
j  java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Ljava/util/concurrent/ScheduledThreadPoolExecutor$ScheduledFutureTask;)V+1
j  java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V+30
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

完整hs_err_pid85.log

hengyunabc commented 1 month ago

可以试下原版的 https://github.com/async-profiler/async-profiler/ ,arthas 4.0.1 里的应该是 2.6 版本。

remind commented 1 month ago

可以试下原版的 https://github.com/async-profiler/async-profiler/ ,arthas 4.0.1 里的应该是 2.6 版本。

确实可以,原版是3.0的,arthas中的什么时候升上去