-
-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] macOS 15.2 ARM64 Docker 环境下 JRE-23 SIGILL 崩溃问题 #831
Comments
但jdk 24没正式发布吧? |
是没有正式发布,所以只是临时解决方案。毕竟更新了系统才发现的该bug,只能先这样用着先,等待后续jdk更新吧。 |
可以直接替换文件吗? |
具体是怎样替换呢? |
把jdk23运行时删除了,然后把压缩包里的文件放在原来jdk23运行时的位置上 Linux应该可以这样做 |
哦,我是用docker部署,现在的方案是依赖了openjdk:24-slim的docker镜像,替换了原来的eclipse-temurin:23-jre-noble镜像。如果要用该环境的话(https://github.com/adoptium/temurin24-binaries/releases/tag/jdk-24%2B28-ea-beta), |
试了下构建jre的镜像用于项目jvm依赖,相比于直接依赖jdk,依赖jre的镜像能小挺多。 |
同bug |
试一下 ghostchu/peerbanhelper-snapshot:sha-395a894 有没有改善,我们没有苹果设备,无法测试。 这个镜像更换了 base image,至于有没有用我也不确定 |
版本号 - Version
v7.2.2
操作系统平台和系统架构 - OS and CPU Arch
macOS:15.2 arm64
部署方式 - Deploy methods
添加的下载器 - Added Downloaders
问题描述 - Issue Description
macOS15.2系统下在通过docker compose部署PeerBanHelper时遇到严重的 JVM 崩溃问题。错误日志显示这是一个 JRE 层面的严重错误(SIGILL),导致 Java 虚拟机崩溃。
原因分析
这是OpenJDK 23 在 ARM64 架构上的一个已知 bug。该问题已在 OpenJDK 官方 bug 跟踪系统中被确认(JDK-8345296)。
临时解决方案:
将基础镜像从原来的jre版本更新为 openjdk:24-slim,成功解决了当前的 JVM 崩溃问题。
Dockerfile:
FROM docker.io/openjdk:24-slim
LABEL maintainer="https://github.com/PBH-BTN/PeerBanHelper"
COPY target/libraries /app/libraries
COPY target/PeerBanHelper.jar /app/PeerBanHelper.jar
USER 0
EXPOSE 9898
ENV TZ=UTC
ENV JAVA_OPTS="-Dpbh.release=docker -Djava.awt.headless=true -Xmx512M -Xss512k -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ShrinkHeapInSteps"
WORKDIR /app
VOLUME /tmp
ENTRYPOINT JAVAHOME/bin/javaJAVAHOME/bin/java{JAVA_OPTS} -jar PeerBanHelper.jar
复现步骤 - Reproduce steps
截图/日志文件 - Screenshot / Logs
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # A fatal error has been detected by the Java Runtime Environment:
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # SIGILL (0x4) at pc=0x0000ffff8a7401a8, pid=7, tid=8
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # JRE version: (23.0.1+11) (build )
2024-12-20 02:51:15 # Java VM: OpenJDK 64-Bit Server VM (23.0.1+11, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
2024-12-20 02:51:15 # Problematic frame:
2024-12-20 02:51:15 # j java.lang.System.registerNatives()V+0 [email protected]
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # An error report file with more information is saved as:
2024-12-20 02:51:15 # /app/hs_err_pid7.log
2024-12-20 02:51:15 [0.039s][warning][os] Loading hsdis library failed
2024-12-20 02:51:15 #
2024-12-20 02:51:15 # The crash happened outside the Java Virtual Machine in native code.
2024-12-20 02:51:15 # See problematic frame for where to report the bug.
2024-12-20 02:51:15 #
2024-12-20 02:51:15 #
额外信息 - Addition Information
相关讨论
OpenJDK Bug Report: JDK-8345296
Fix PR: openjdk/jdk21u-dev#1222
Issue: macOS 15.2 M4: Unable to launch Elasticsearch Docker container
检查清单 - Check list
The text was updated successfully, but these errors were encountered: