.sh 文件:
time java -XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/parser/TypeConverter.decodeType -XX:-UseLoopPredicate -ea -jar file.jar directory DB details
上面的脚本用于将目录中的详细信息从服务器上传到数据库,但有时它会发生核心转储。在日志中获取以下错误:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fcd73286d94, pid=21271, tid=140519844833024
#
# JRE version: Java(TM) SE Runtime Environment (8.0_91-b14) (build 1.8.0_91-b14)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.91-b14 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V [libjvm.so+0x814d94] PhaseIdealLoop::build_loop_late_post(Node*)+0x144
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
-XX:-UseLoopPredicate 和 XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/parser/TypeConverter.decodeType 无法解决问题。
最佳答案
这是 jdk 中的一个问题 https://bugs.openjdk.java.net/browse/JDK-8154831 ,使用eclipse,在8u74中引入 不要试图将它从编译 -XX:CompileCommand 中排除,这会导致一些其他错误。作为一个你得到的。等待 Java 发布下一个更新并使用该版本升级您的 java,您将不会再遇到这个问题。
关于linux - 运行 java bash 脚本时出现核心转储问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38359871/