JRE(sun 1.6 21)在Linux Debian 5上与SIGBUS崩溃

时间:2011-01-18 13:13:10

标签: linux tfs debian java

我在Linux Debian 5上遇到JRE问题。 在TEE-CLC java应用程序执行期间,JRE(sun 1.6 21)在Debian 5(内核2.6.26)上与SIGBUS崩溃。

TEE-CLC-10.1.0是Microsoft Team Foundation Server(TFS)的Java客户端应用程序。

这是java virtul mashine命令行:

  

exec java -Xmx512M -classpath   “$ CLC_CLASSPATH”“ - Dcom.microsoft.tfs.jni.native.base-directory = $ BASE_DIRECTORY / native”     $ RANDOM_DEVICE_PROPERTY com.microsoft.tfs.client.clc.vc.Main“$ @”

当我尝试执行命令(从服务器获取文件)时: tf get -r -force {branch_name} 它开始获取文件,然后一两分钟后出现以下错误消息:

  

Java Runtime Environment检测到致命错误:

     

SIGBUS(0x7)at pc = 0xb77d3422,pid = 29386,tid = 3076802752

     

JRE版本:6.0_21-b06   Java VM:Java HotSpot(TM)客户端VM(17.0-b16混合模式linux-x86)   有问题的框架:   C [+ 0x422] __kernel_vsyscall + 0xe

     

包含更多信息的错误报告文件保存为:   /...../..../...../hs_err_pid29386.log   分段错误。

我有大约900M的可用内存。我检查了限制:ulimit -a。 我有三台其他Linux Debian 5计算机,它们使用相同的设置工作正常。 我检查了一切。我不知道为什么JRE不能正常工作。

有人知道如何处理吗? JRE或我的Debian 5出了什么问题?

1 个答案:

答案 0 :(得分:0)

根据我的经验,很少有错误的程序因SIGBUS而失败:编译器的错误检查使得很难生成奇数内存地址。我最近见过的几次是(IIRC),因为我使用的是不兼容的共享库或.o文件。

是否为执行程序设置了LD_LIBRARY_PATH环境变量?如果是这样,则可能导致程序使用不正确的共享库。