Open JDK8 fast-debug : crashes on Solaris Sparc T4 machines
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Feb 12 12:37:58 PST 2014
Matthias,
You have to use the official version 12u1+patches to build jdk8 Hotspot
for solaris. Thank you Phil for pointer to README-builds.html.
When we updated to 12u1 we found few problems, that is why patches are
also required.
The compiler version string we use is:
$ CC -V
CC: Sun C++ 5.10 SunOS_sparc 128228-09 2010/06/24
Regards,
Vladimir
On 2/12/14 10:32 AM, Phil Race wrote:
> The README-builds.html file specifies SS12 Update 1 + a bunch of patches
> There's probably a good reason for all of that and new architectures often
> need compiler fixes, so does the same occur if you upgrade and patch ?
>
> -phil.
>
> On 2/12/2014 7:48 AM, Baesken, Matthias wrote:
>> I noticed when building Open JDK 8 fast-debug with Sun Studio 12 on
>> Solaris Sparc,
>> the VM crashes early when executed on T4 based machines (both T4 based
>> Solaris Sparc10 and 11 machines);
>> I cannot see the issue on older Sparc processors or Fujitsu SPARC64.
>> The Crashes look like this :
>>
>>
>> <maindir>/results/SS12/images/j2sdk-image/bin/java -version
>> # To suppress the following error report, specify this argument
>> # after -XX: or in .hotspotrc: SuppressErrorAt=/jni.cpp:278
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error
>> (/net/usr.work/d040975/open_jdk/jdk8_2/hotspot/src/share/vm/prims/jni.cpp:278),
>> pid=27252, tid=2
>> # guarantee(klass_hash_ok(k, id)) failed: Bug in native code:
>> jfieldID class must match object
>> #
>> # JRE version: (8.0) (build )
>> # Java VM: OpenJDK 64-Bit Server VM (25.0-b69-fastdebug mixed mode
>> solaris-sparc compressed oops)
>> # Core dump written. Default location: //core or core.27252
>> #
>> # An error report file with more information is saved as:
>> # //hs_err_pid27252.log
>> #
>> # If you would like to submit a bug report, please visit:
>> # http://bugreport.sun.com/bugreport/crash.jsp
>> #
>> Current thread is 2
>> Dumping core ...
>> Abort (core dumped)
>>
>> With Stack in the hs_err file :
>>
>> --------------- T H R E A D ---------------
>>
>> Current thread (0x0000000100111800): JavaThread "main"
>> [_thread_in_vm, id=2, stack(0xffffffff7e200000,0xffffffff7e300000)]
>>
>> Stack: [0xffffffff7e200000,0xffffffff7e300000],
>> sp=0xffffffff7e2fdd50, free space=1015k
>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
>> C=native code)
>> V [libjvm.so+0xfc8824] void VMError::report_and_die()+0x504
>> V [libjvm.so+0x66ee70] void report_vm_error(const char*,int,const
>> char*,const char*)+0x78
>> V [libjvm.so+0x925798] void
>> jfieldIDWorkaround::verify_instance_jfieldID(Klass*,_jfieldID*)+0xa8
>> V [libjvm.so+0x8f07a8]
>> _jfieldID*jfieldIDWorkaround::to_instance_jfieldID(Klass*,int)+0x60
>> V [libjvm.so+0x953b8c] jni_GetFieldID+0x52c
>> C [libjava.so+0xe46c] Java_java_io_FileInputStream_initIDs+0x44
>> j java.io.FileInputStream.initIDs()V+-373565320
>> j java.io.FileInputStream.initIDs()V+0
>> j java.io.FileInputStream.<clinit>()V+0
>> v ~StubRoutines::call_stub
>> V [libjvm.so+0x8fe0bc] void
>> JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x4e4
>>
>> V [libjvm.so+0x82daac] void
>> InstanceKlass::call_class_initializer_impl(instanceKlassHandle,Thread*)+0x224
>>
>> V [libjvm.so+0x82d7f8] void
>> InstanceKlass::call_class_initializer(Thread*)+0x24
>> V [libjvm.so+0x82c260] void
>> InstanceKlass::initialize_impl(instanceKlassHandle,Thread*)+0xb08
>> V [libjvm.so+0x82a82c] void InstanceKlass::initialize(Thread*)+0x5c
>> V [libjvm.so+0x8dad34] void
>> InterpreterRuntime::_new(JavaThread*,ConstantPool*,int)+0x254
>> j java.lang.System.initializeSystemClass()V+37
>> v ~StubRoutines::call_stub
>> V [libjvm.so+0x8fe0bc] void
>> JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*)+0x4e4
>>
>> V [libjvm.so+0x8fd31c] void
>> JavaCalls::call_static(JavaValue*,KlassHandle,Symbol*,Symbol*,JavaCallArguments*,Thread*)+0x104
>>
>> V [libjvm.so+0x8fd8bc] void
>> JavaCalls::call_static(JavaValue*,KlassHandle,Symbol*,Symbol*,Thread*)+0x64
>>
>> V [libjvm.so+0xf27f80] void call_initializeSystemClass(Thread*)+0x80
>> V [libjvm.so+0xf3317c] int
>> Threads::create_vm(JavaVMInitArgs*,bool*)+0x76c
>> V [libjvm.so+0x9772ec] JNI_CreateJavaVM+0xe4
>> C [libjli.so+0x7d9c] InitializeJVM+0x104
>> C [libjli.so+0x6220] JavaMain+0x68
>>
>>
>>
>> When building with Sun Studio 12u1 (instead of 12) the crash does not
>> occur, see :
>>
>> <maindir>/results/SS12u1/images/j2sdk-image/bin/java -version
>> openjdk version "1.8.0-internal-fastdebug"
>> OpenJDK Runtime Environment (build
>> 1.8.0-internal-fastdebug-d040975_2014_02_12_15_29-b00)
>> OpenJDK 64-Bit Server VM (build 25.0-b69-fastdebug, mixed mode)
>>
>>
>> Is this a known issue with SunStudio12 build results on T4 Processors ?
>>
>> I changed the used optimization flags in the fast-debug build from
>> -xO4 to -xO2 and the problem disappeared.
>> Could this be done in the configuration when SunStudio 12 is detected ?
>>
>> Thanks, Matthias
>
More information about the hotspot-dev
mailing list