JDK-6292017 : VM crashed with the flags -client -XX:CompileThreshold=5 -XX:+LogCompilation
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2005-06-29
  • Updated: 2010-04-02
  • Resolved: 2005-11-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b53Fixed
Related Reports
Relates :  
Relates :  
Description
Using the vm flags: -client -XX:CompileThreshold=5 -XX:+LogCompilation on a simple java program, vm crashed with hs_err.
But using -server -XX:CompileThreshold=5 -XX:+LogCompilation, or the invididual flag is fine.

Please see the attached hs_err file.

Hostname: rocketman
uname -a
SunOS rocketman 5.9 Generic_117171-07 sun4u sparc SUNW,Ultra-80

#cat Hello.java
class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

bash-2.05# which java
/net/vmsqe/export/nightly/mantis/JDK/service_hs_baseline/jdk1.6/solaris-sparcv9/
bin/java
bash-2.05# java -client -version
java version "1.6.0-ea"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-ea-b42)
Java HotSpot(TM) Client VM (build 20050624080310.dcubed.service_hs_merge-debug,
mixed mode)

java -client -XX:CompileThreshold=5 -XX:+LogCompilation Hello
VM option 'CompileThreshold=5'
VM option '+LogCompilation'
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/interfaceSupport.hpp:114]
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  Internal Error (/net/prt-solsparc-q1-4/tmp/PrtBuildDir/workspace/src/share/vm
/runtime/interfaceSupport.hpp, 114 [ Patched ]), pid=2513, tid=6
#
# Java VM: Java HotSpot(TM) Client VM (20050624080310.dcubed.service_hs_merge-de
bug mixed mode)
#
# Error: assert(thread->thread_state() == _thread_in_native,"coming from wrong t
hread state")
# An error report file with more information is saved as hs_err_pid2513.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Current thread is 6
Dumping core ...
Abort



###@###.### 2005-06-29 00:27:41 GMT

Comments
EVALUATION This was fixed as part of the changes for the new dependencies code, 4850474.
11-11-2005

EVALUATION This is a lurking bug in the LogCompilation code which was exposed by the recent code which added interpreter_invocation_count to the client build. The calls to CompileLog::identify are unsafe in ciEnv.cpp since we're already in VM mode but since C2 logs a bunch of stuff during compilation it always already has the computation cached so the request is resolved from the _identities table without performing a transition. C1 has never fully supported LogCompilation so we tend not to have the table filled in so we end up performing the illegal transition. CompileLog probably needs to be a lot more careful about state transitions. ###@###.### 2005-07-01 18:49:52 GMT
01-07-2005