J VM Crash- 64bit VM Crash in CompilerThread1

There is a strong change that you're hitting hotspot compiler bug.

Check following docs:
http://java.sun.com/javase/6/webnotes/trouble/TSG-VM/html/gbyzx.html#gbyzu
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6411717

Availabe workarounds are:
1. Switch to client compiler: -server --> -client
2. Switch to interpreter mode: -Xint
3. Use .hotspot_compiler file (Goggle .hotspot_compiler)
说是解决了,但仍会报,目前的1.5.0_20仍然有此问题。下面是其他版本遇到的情况。
Please note that the 1.5.0 version of this fix (CR# 5030922) is in
1.5.0_08. Please try 1.5.0_08 when its available.
Posted Date : 2006-06-07 20:15:02.0
 
     
We are seeing similar issue with JDK 1.5.0_11.
We tried both the workarounds but adding  "-XX:-EliminateLocks" parameter did not work. Got an error saying that unknwon argument.
However the other workaround creating ".hotspot_compiler" did work for us.
Does anybody have an idea if this is fixed in heigher JRE versions? 

有些方案仍存在一些未知因素:
 
     

In this case there are two potential workarounds:

  • The brute force approach: change the configuration so that the application is run with the -client option to specify the HotSpot Client VM.

  • Assume that the bug only occurs during the compilation of the setPriority method and exclude this method from compilation.

The first approach (to use the -client option) might be trivial to configure in some environments. In others, it might be more difficult if the configuration is complex or if the command line to configure the VM is not readily accessible. In general, switching from the HotSpot Server VM to the HotSpot Client VM also reduces the peak performance of an application. Depending on the environment, this might be acceptable until the actual issue is diagnosed and fixed.

The second approach (exclude the method from compilation) requires creating the file .hotspot_compiler in the working directory of the application. Below is an example of this file:

exclude java/lang/Thread setPriority

In general the format of this file is exclude CLASS METHOD, where CLASS is the class (fully qualified with the package name) and METHOD is the name of the method. Constructor methods are specified as <init> and static initializers are specified as <clinit>.


Note - The .hotspot_compiler file is an unsupported interface. It is documented here solely for the purposes of troubleshooting and finding a temporary workaround.


Once the application is restarted, the compiler will not attempt to compile any of the methods listed as excluded in the .hotspot_compiler file. In some cases this can provide temporary relief until the root cause of the crash is diagnosed and the bug is fixed.

In order to verify that the HotSpot VM correctly located and processed the .hotspot_compiler file that is shown in the example above, look for the following log information at runtime. Note that the file name separator is a dot, not a slash.

### Excluding compile: java.lang.Thread::setPriority
 
     
 
     
 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值