[alibaba/arthas]k8s 中Alpine 上运行profiler start 会导致java 进程关闭,并无法生产火焰图

2023-12-12 759 views
0
环境信息
  • arthas-boot.jar 或者 as.sh 的版本: 3.6.9

  • Arthas 版本: 3.6.9

  • 操作系统版本: OS:
    NAME="Alpine Linux"
    ID=alpine
    VERSION_ID=3.15.9
    PRETTY_NAME="Alpine Linux v3.15"
    HOME_URL="https://alpinelinux.org/"
    BUG_REPORT_URL="https://bugs.alpinelinux.org/"
    uname: Linux 5.10.184-175.731.amzn2.x86_64 #1 SMP Tue Jun 27 21:48:55 UTC 2023 x86_64

  • 目标进程的JVM版本: java version "17.0.7" 2023-04-18 LTS Java(TM) SE Runtime Environment (build 17.0.7+8-LTS-224) Java HotSpot(TM) 64-Bit Server VM (build 17.0.7+8-LTS-224, mixed mode, sharing)

  • 执行arthas-boot的版本: 3.6.9

重现问题的步骤
  1. curl -O https://arthas.aliyun.com/math-game.jar java -jar math-game.jar

  2. curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar
  3. profiler start
  4. java 进程将会停止
期望的结果

期望正常运行 生产火焰图

实际运行的结果

实际运行结果,最好有详细的日志,异常栈。尽量贴文本。 Current thread (0x00007f8e44026e30): JavaThread "arthas-command-execute" daemon [_thread_in_native, id=912, stack(0x00007f8e859f9000,0x00007f8e85afa000)]

Stack: [0x00007f8e859f9000,0x00007f8e85afa000], sp=0x00007f8e85af77e0, free space=1017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ArthasJniLibrary11598689708402447424.tmp+0x9f6e2] Symbols::parseLibraries(CodeCacheArray, bool)+0xee2
C [ArthasJniLibrary11598689708402447424.tmp+0xab9e9] VM::init(JavaVM_
, bool) [clone .part.0]+0x169
C [ArthasJniLibrary11598689708402447424.tmp+0xb7df7] JNI_OnLoad+0x287
C [libjava.so+0xef6c] Java_jdk_internal_loader_NativeLibraries_load+0xdc
j jdk.internal.loader.NativeLibraries.load(Ljdk/internal/loader/NativeLibraries$NativeLibraryImpl;Ljava/lang/String;ZZZ)Z+0 java.base@17.0.7
j jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open()Z+60 java.base@17.0.7
j jdk.internal.loader.NativeLibraries.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)Ljdk/internal/loader/NativeLibrary;+256 java.base@17.0.7
j jdk.internal.loader.NativeLibraries.loadLibrary(Ljava/lang/Class;Ljava/io/File;)Ljdk/internal/loader/NativeLibrary;+51 java.base@17.0.7
j java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/io/File;)Ljdk/internal/loader/NativeLibrary;+31 java.base@17.0.7
j java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+61 java.base@17.0.7
j java.lang.System.load(Ljava/lang/String;)V+7 java.base@17.0.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;+158
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/com 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 java.base@17.0.7
j java.util.concurrent.FutureTask.run()V+39 java.base@17.0.7
j java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run()V+28 java.base@17.0.7
j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@17.0.7
j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@17.0.7
j java.lang.Thread.run()V+11 java.base@17.0.7
v ~StubRoutines::call_stub
V [libjvm.so+0x7fd405] JavaCalls::call_helper(JavaValue, methodHandle const&, JavaCallArguments, JavaThread)+0x315
V [libjvm.so+0x7febfb] JavaCalls::call_virtual(JavaValue
, Handle, Klass, Symbol, Symbol, JavaThread)+0x1cb

  • hs_err_pid772.log 20/1070 1%
    把异常信息贴到这里

回答

1

是v2.9 存在问题, 我checkout v2.10,,打包测试正常

image