启用 Apparmor 时:
每当我通过 JVM 参数打开 JFR 后启动 JVM 时,JVM 就会崩溃并出现以下错误。
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.181-b25 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libc.so.6+0xc8556] readdir_r+0x36
#
...
...
Stack: [0x00007fa86c86f000,0x00007fa86c970000], sp=0x00007fa86c96eb20, free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [libc.so.6+0xc8556] readdir_r+0x36
V [libjvm.so+0x6a73d5] Jfr::initialize_stage_one()+0xc5
V [libjvm.so+0x6a8bcf] JfrActivator::start_stage_one(Thread*)+0xf
V [libjvm.so+0x6a8e8d] JfrActivator::on_vm_init(Thread*)+0xcd
V [libjvm.so+0xa7f8ca] Threads::create_vm(JavaVMInitArgs*, bool*)+0xc0a
V [libjvm.so+0x6d8d74] JNI_CreateJavaVM+0x74
C [libjli.so+0x797e] JavaMain+0x9e
C [libpthread.so.0+0x76ba] start_thread+0xca
我的 JFR 设置如下:
JFR_JAVA_OPTS="-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,disk=true,settings=profile,repository=/tmp,maxage=60m,loglevel=info"
当 Apparmor 被禁用 时,JVM 启动时没有任何错误。
我的要求是,我必须为我的应用程序启用 Apparmor。我应该如何摆脱这个错误?
谢谢。