JDK-8016749 : -XX:+UseISM fails an assert(obj->is_oop()) when running SPECjbb2005
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs25
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • CPU: sparc
  • Submitted: 2013-06-17
  • Updated: 2013-11-21
  • Resolved: 2013-07-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 8 Other
8Fixed hs25Fixed
Related Reports
Relates :  
Description
Running the following:
/localhome/java/jdk-8-ea-bin-b94/fastdebug/bin/java -d64 -XX:+PrintGC -XX:+TracePageSizes -XX:+UseISM -cp jbb.jar:check.jar spec.jbb.JBBmain

Gives:
#  Internal Error (/HUDSON/workspace/2-build-solaris-sparcv9/jdk8/4767/hotspot/src/share/vm/runtime/handles.cpp:48), pid=8276, tid=19
#  assert(obj->is_oop()) failed: sanity check

V  [libjvm.so+0x117b670]  void VMError::report_and_die()+0x838
V  [libjvm.so+0x6e9750]  void report_vm_error(const char*,int,const char*,const char*)+0x78
V  [libjvm.so+0x87c2d0]  oop*HandleArea::allocate_handle(oop)+0xa0
V  [libjvm.so+0x87c47c]  Handle::Handle #Nvariant 1(Thread*,oop)+0x9c
V  [libjvm.so+0xfbc780]  void SharedRuntime::complete_monitor_locking_C(oopDesc*,BasicLock*,JavaThread*)+0x250
v  ~RuntimeStub::_complete_monitor_locking_Java
J  spec.jbb.DeliveryTransaction.preprocess()Z
j  spec.jbb.DeliveryHandler.handleDelivery(Lspec/jbb/DeliveryTransaction;)V+1
j  spec.jbb.DeliveryTransaction.process()Z+69
j  spec.jbb.TransactionManager.runTxn(Lspec/jbb/Transaction;JJD)J+36
j  spec.jbb.TransactionManager.goManual(ILspec/jbb/TimerData;)J+142
j  spec.jbb.TransactionManager.go()V+309
j  spec.jbb.JBBmain.run()V+62
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [libjvm.so+0x9c3a6c]  void JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x5b4
V  [libjvm.so+0x9c26ac]  void JavaCalls::call_virtual(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x184
V  [libjvm.so+0x9c27bc]  void JavaCalls::call_virtual(JavaValue*,Handle,KlassHandle,Symbol*,Symbol*,Thread*)+0xcc
V  [libjvm.so+0xad4644]  void thread_entry(JavaThread*,Thread*)+0xec
V  [libjvm.so+0x10c7034]  void JavaThread::thread_main_inner()+0x254
V  [libjvm.so+0x10c6d80]  void JavaThread::run()+0x370
V  [libjvm.so+0xe5fbd8]  java_start+0x258

ILW -> H?M = HHM = P1
I: High
L: ?
W: M, Don't use ISM

Comments
Remove ISM and MPSS for Solaris. Both ISM and MPSS are part of Solaris 9 and we don't support that version of Solaris anymore. Instead LargePages is the way to go for Solaris10+. Removing the code will cleanup the code significantly.
25-06-2013

UseISM is an obsolete flag, down grading to P3
25-06-2013

We need to remove UseISM related code so people will not be confused how to use large pages on Solaris.
24-06-2013

It is not P1 since UseISM is obsolete flag - we never tested with it. I want to change it to P3. We don't have resources to fix it now.
24-06-2013

The same run with -XX:-UseCompressedOops does not crash. The frame before calling SharedRuntime::complete_monitor_locking_C is a compiled frame (there is a stub between). I don't understand how the default value for UseCompressedOops turned on for sparc 64bit. According to: lp64_product(bool, UseCompressedOops, false, Default is false. Looks a compiler problem? Here got an encoded oop. I set a breakpoint for function SharedRuntime::complete_monitor_locking_C, the first time it called, is the crash. Just realize the default setting is for product build.
21-06-2013

$ uname -a SunOS sthsparc42vm3 5.11 11.0 sun4v sparc sun4v $ /localhome/java/jdk-8-ea-bin-b94/bin/java -d64 -version java version "1.8.0-ea" Java(TM) SE Runtime Environment (build 1.8.0-ea-b94) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b36, mixed mode)
17-06-2013