我正在使用带有64位操作系统的RHEL 6。对于我的一个应用程序,我安装了“jre-6u23-linux-x64.bin”。当我执行我的应用程序时,我得到以下错误:
# A fatal error has been detected by the Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x0000003222414d70, pid=4977, tid=140076581496592
# JRE version: 6.0_23-b05
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
# Problematic frame:**
# C [ld-linux-x86-64.so.2+0x14d70]
# An error report file with more information is saved as
# /root/Desktop/Madhu/SELVIEW10.0-B4/Linux/hs_err_pid4977.log
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
任何人都可以为此解决问题吗?
答案 0 :(得分:4)
之间
崩溃发生在Java虚拟机之外的本机代码中。
和
包含更多信息的错误报告文件保存为 /root/Desktop/Madhu/SELVIEW10.0-B4/Linux/hs_err_pid4977.log
看起来你正在处理一个有缺陷的本地库。看看那个hs_err转储(它是纯文本),它应该指出问题。
要尝试的另一件事:压缩OOPS优化最近才被添加到JVM中,尝试禁用它(在命令行上传递-XX:-UseCompressedOops
)并查看问题是否仍然存在。
答案 1 :(得分:1)
此问题也在此处讨论:community.oracle.com thread
建议的解决方案是设置LD_BIND_NOW = 1:
export LD_BIND_NOW=1
$JAVA_HOME/bin/java -jar yourapp.jar