JDK-8155216 : compiler/jvmci/compilerToVM/ReadUncompressedOopTest.java hit assert(Universe::heap()->is_in_reserved(obj)) failed: sanity check
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2016-04-27
  • Updated: 2023-07-21
  • Resolved: 2023-07-21
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 9
9Resolved
Related Reports
Duplicate :  
Relates :  
Sub Tasks
JDK-8156480 :  
Description
compiler/jvmci/compilerToVM/ReadUncompressedOopTest.java hit assert in 2016-04-26 RT nightly:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/jprt/T/P1/135841.ppunegov/s/hotspot/src/share/vm/runtime/jniHandles.cpp:57), pid=9152, tid=9174
#  assert(Universe::heap()->is_in_reserved(obj)) failed: sanity check
#
# JRE version: Java(TM) SE Runtime Environment (9.0) (fastdebug build 9-internal+0-2016-04-26-135841.ppunegov.8155092)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 9-internal+0-2016-04-26-135841.ppunegov.8155092, mixed mode, tiered, jvmci, g1 gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e" (or dumping to /scratch/home/aurora/sandbox/results/workDir/compiler/jvmci/compilerToVM/ReadUncompressedOopTest/core.9152)
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

---------------  S U M M A R Y ------------

Command Line: -Dtest.src=/scratch/home/aurora/CommonData/j2se_jdk/hotspot/test/compiler/jvmci/compilerToVM -Dtest.src.path=/scratch/home/aurora/CommonData/j2se_jdk/hotspot/test/compiler/jvmci/compilerToVM:/scratch/home/aurora/CommonData/j2se_jdk/hotspot/test:/scratch/home/aurora/CommonData/j2se_jdk/hotspot/test/testlibrary:/scratch/home/aurora/CommonData/j2se_jdk/test/lib -Dtest.classes=/scratch/home/aurora/sandbox/results/workDir/classes/1/compiler/jvmci/compilerToVM -Dtest.class.path=/scratch/home/aurora/sandbox/results/workDir/classes/1/compiler/jvmci/compilerToVM:/scratch/home/aurora/sandbox/results/workDir/classes/1:/scratch/home/aurora/sandbox/results/workDir/classes/1/testlibrary:/scratch/home/aurora/sandbox/results/workDir/classes/1/test/lib -Dtest.vm.opts= -Dtest.tool.vm.opts= -Dtest.compiler.opts= -Dtest.java.opts=-Xmixed -server -XX:MaxRAMFraction=8 -XX:NativeMemoryTracking=detail -Dtest.jdk=/export/home/aurora/CommonData/TEST_JAVA_HOME -Dcompile.jdk=/export/home/aurora/CommonData/TEST_JAVA_HOME -Dtest.timeout.factor=16.0 -Dtest.modules=jdk.vm.ci/jdk.vm.ci.hotspot -Dtest.nativepath=/export/home/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED -Dtest.patch.path=/scratch/home/aurora/sandbox/results/workDir/classes/1/compiler/jvmci/common/patches -Djdk.launcher.patch.0=/scratch/home/aurora/sandbox/results/workDir/classes/1/compiler/jvmci/common/patches -Djdk.launcher.addexports.0=jdk.vm.ci/jdk.vm.ci.hotspot=ALL-UNNAMED -Xmixed -XX:MaxRAMFraction=8 -XX:NativeMemoryTracking=detail -Djava.library.path=/export/home/aurora/sandbox/JTREG_NATIVEPATH_LIBRARY_PREPARED -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseCompressedOops com.sun.javatest.regtest.agent.MainWrapper /scratch/home/aurora/sandbox/results/workDir/compiler/jvmci/compilerToVM/ReadUncompressedOopTest.d/main.2.jta

Host: sc11136420, Intel(R) Xeon(R) CPU           X5675  @ 3.07GHz, 2 cores, 7G, Oracle Linux Server release 6.6
Time: Tue Apr 26 21:48:55 2016 PDT elapsed time: 1 seconds (0d 0h 0m 1s)

---------------  T H R E A D  ---------------

Current thread (0x00007fb9b8496800):  JavaThread "MainThread" [_thread_in_vm, id=9174, stack(0x00007fb9488d0000,0x00007fb9489d1000)]

Stack: [0x00007fb9488d0000,0x00007fb9489d1000],  sp=0x00007fb9489ceaf0,  free space=1018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x14ac5c2]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x162
V  [libjvm.so+0x14ad2df]  VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0x9710ed]  report_vm_error(char const*, int, char const*, char const*, ...)+0xdd
V  [libjvm.so+0xdb04a6]  JNIHandles::make_local(Thread*, oop)+0x56
V  [libjvm.so+0xe0827d]  c2v_readUncompressedOop(JNIEnv_*, _jobject*, long)+0xed
j  jdk.vm.ci.hotspot.CompilerToVM.readUncompressedOop(J)Ljava/lang/Object;+0 jdk.vm.ci@9-internal
j  jdk.vm.ci.hotspot.CompilerToVMHelper.readUncompressedOop(J)Ljava/lang/Object;+4 jdk.vm.ci@9-internal
j  compiler.jvmci.compilerToVM.ReadUncompressedOopTest.runTest()V+29
j  compiler.jvmci.compilerToVM.ReadUncompressedOopTest.main([Ljava/lang/String;)V+7
v  ~StubRoutines::call_stub
V  [libjvm.so+0xca7c1e]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x88e
V  [libjvm.so+0x12a0693]  invoke(instanceKlassHandle, methodHandle, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xbf3
V  [libjvm.so+0x12a1596]  Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x246
V  [libjvm.so+0xde3f7a]  JVM_InvokeMethod+0x1fa
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-internal
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base@9-internal
j  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@9-internal
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+42 java.base@9-internal
j  com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+162
j  java.lang.Thread.run()V+11 java.base@9-internal
v  ~StubRoutines::call_stub
V  [libjvm.so+0xca7c1e]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x88e
V  [libjvm.so+0xca5317]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x3b7
V  [libjvm.so+0xca547f]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0xbf
V  [libjvm.so+0xdbe8d0]  thread_entry(JavaThread*, Thread*)+0xc0
V  [libjvm.so+0x141a9d9]  JavaThread::thread_main_inner()+0x1c9
V  [libjvm.so+0x141abfb]  JavaThread::run()+0x18b
V  [libjvm.so+0x118e7c2]  java_start(Thread*)+0x112
C  [libpthread.so.0+0x7aa1]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  jdk.vm.ci.hotspot.CompilerToVM.readUncompressedOop(J)Ljava/lang/Object;+0 jdk.vm.ci@9-internal
j  jdk.vm.ci.hotspot.CompilerToVMHelper.readUncompressedOop(J)Ljava/lang/Object;+4 jdk.vm.ci@9-internal
j  compiler.jvmci.compilerToVM.ReadUncompressedOopTest.runTest()V+29
j  compiler.jvmci.compilerToVM.ReadUncompressedOopTest.main([Ljava/lang/String;)V+7
v  ~StubRoutines::call_stub
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@9-internal
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base@9-internal
j  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@9-internal
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+42 java.base@9-internal
j  com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+162
j  java.lang.Thread.run()V+11 java.base@9-internal
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
=>0x00007fb9b8496800 JavaThread "MainThread" [_thread_in_vm, id=9174, stack(0x00007fb9488d0000,0x00007fb9489d1000)]
...

hs_err_pid9152.log is attached.

VM Options:  	-server -Xmixed -XX:MaxRAMFraction=8 -XX:NativeMemoryTracking=detail 
Comments
JDK-8156159 was file to replace API to get uncompressed pointer.
06-05-2016

According to Dmitry's analysis above, this bug was marked as an integration_blocker because this is a new failure that was spotted in the 2016-04-26 JDK9-HS-RT nightly testing run. There are other similar failures, but none appear in "official runs (nightly, PIT)". Just because something is a test bug does not mean that this is not an integration_blocker. If you believe that the right solution to this bug is to remove the test, then please do so. As for quarantining the test, that would also be your responsibility as the owner of this issue (and the presumed owner of the subtask used to quarantine the test).
05-05-2016

Also, I don't think this is an integration blocker. The test is around for quite a while and never failed (as far as I know). Although, it's very likely this a test bug. If someone really wants to quarantine this test, please go ahead. It will be removed anyway.
04-05-2016

jdk.vm.ci.hotspot.CompilerToVM.readUncompressedOop(long) should be replaced with jdk.internal.misc.Unsafe.getUncompressedObject(long). We put off this change because most IDEs don't support Java 9 modules yet and so working in an IDE produces an error. With FC coming closer this switch should be done.
04-05-2016

This failure have the same assert as in JDK-8136707 but with different stack trace.
27-04-2016

Adding integration_blocker label. This looks as a new failure. Can not found similar failure in the official runs(nightly, PIT).
27-04-2016

Is there a reason to why this wasn't labeled an integration blocker?
27-04-2016