JDK-8207920 : Intermittent failure: assert(is_native() && bcp == code_base() || contains(bcp) || VMError::is_error_reported()) failed: bcp doesn't belong to this method: bcp: 0x0000700001aa7ca0
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11
  • Priority: P2
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • Submitted: 2018-07-20
  • Updated: 2018-08-10
  • Resolved: 2018-08-10
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 11
11Resolved
Related Reports
Relates :  
Description
Test compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java	
crashed with 
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/scratch/mesos/slaves/9190d864-6621-4810-ba08-d8d8c75ba674-S124/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/2b4c69e2-eb86-43ca-8de8-6b57343089c2/runs/7156ec64-93e1-4ff6-a2ab-79514699c903/workspace/open/src/hotspot/share/oops/method.cpp:238), pid=6695, tid=23043
#  assert(is_native() && bcp == code_base() || contains(bcp) || VMError::is_error_reported()) failed: bcp doesn't belong to this method: bcp: 0x0000700001aa7ca0, method: java.lang.invoke.InnerClassLambdaMetafactory.generateConstructor()V
#
# JRE version: Java(TM) SE Runtime Environment (11.0+19) (fastdebug build 11-ea+19)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 11-ea+19, mixed mode, tiered, jvmci, compressed oops, g1 gc, bsd-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# 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.class.path.prefix=/scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/classes/0/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.d:/scratch/mesos/jib-master/install/jdk/11/19/src.full/open/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test:/scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/classes/0/compiler/jvmci/jdk.vm.ci.runtime.test/src -Dtest.src=/scratch/mesos/jib-master/install/jdk/11/19/src.full/open/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test -Dtest.src.path=/scratch/mesos/jib-master/install/jdk/11/19/src.full/open/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test:/scratch/mesos/jib-master/install/jdk/11/19/src.full/open/test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src -Dtest.classes=/scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/classes/0/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.d -Dtest.class.path=/scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/classes/0/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.d:/scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/classes/0/compiler/jvmci/jdk.vm.ci.runtime.test/src -Dtest.vm.opts=-XX:MaxRAMPercentage=12 -Dtest.tool.vm.opts=-J-XX:MaxRAMPercentage=12 -Dtest.compiler.opts= -Dtest.java.opts= -Dtest.jdk=/scratch/mesos/jib-master/install/jdk/11/19/macosx-x64-debug.jdk/jdk-11/fastdebug -Dcompile.jdk=/scratch/mesos/jib-master/install/jdk/11/19/macosx-x64-debug.jdk/jdk-11/fastdebug -Dtest.timeout.factor=10.0 -Dtest.modules=jdk.internal.vm.ci/jdk.vm.ci.meta jdk.internal.vm.ci/jdk.vm.ci.runtime java.base/jdk.internal.misc -Dtest.nativepath=/scratch/mesos/jib-master/install/jdk/11/19/macosx-x64-debug.test/hotspot/jtreg/native --add-modules=jdk.internal.vm.ci,java.base --add-exports=jdk.internal.vm.ci/jdk.vm.ci.meta=ALL-UNNAMED --add-exports=jdk.internal.vm.ci/jdk.vm.ci.runtime=ALL-UNNAMED --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED -XX:MaxRAMPercentage=12 -Djava.library.path=/scratch/mesos/jib-master/install/jdk/11/19/macosx-x64-debug.test/hotspot/jtreg/native -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -Djvmci.Compiler=null com.sun.javatest.regtest.agent.MainWrapper /scratch/mesos/slaves/c4ee7e63-1ded-4e8c-9581-ce26f27e3af4-S23020/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4f100e71-ada4-4640-9e6c-a973bddbad9f/runs/de0b14dc-e53a-4489-ba80-d6306ae0e020/testoutput/jtreg/JTwork/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.d/junit.0.jta compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/TestMetaAccessProvider.java jdk.vm.ci.runtime.test.TestMetaAccessProvider

Host: scaaa906.us.oracle.com, Macmini6,1 x86_64 2500 MHz, 4 cores, 16G, Darwin 17.5.0
Time: Sun Jun 24 05:34:23 2018 GMT elapsed time: 2 seconds (0d 0h 0m 2s)

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

Current thread (0x00007fab34897000):  JavaThread "MainThread" [_thread_in_vm, id=23043, stack(0x00007000019ab000,0x0000700001aab000)]

Stack: [0x00007000019ab000,0x0000700001aab000],  sp=0x0000700001aa78a0,  free space=1010k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.dylib+0xde91c6]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x552
V  [libjvm.dylib+0xde9994]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x4a
V  [libjvm.dylib+0x4eb80d]  report_vm_error(char const*, int, char const*, char const*, ...)+0xd3
V  [libjvm.dylib+0xb0a5dd]  Method::bci_from(unsigned char*) const+0xb7
V  [libjvm.dylib+0x6f8a53]  InterpreterRuntime::note_trap(JavaThread*, int, Thread*)+0xab
V  [libjvm.dylib+0x6f91fc]  InterpreterRuntime::create_exception(JavaThread*, char*, char*)+0x124
j  java.lang.invoke.InnerClassLambdaMetafactory.generateConstructor()V+-781982256 java.base@11-ea
j  java.lang.invoke.InnerClassLambdaMetafactory.spinInnerClass()Ljava/lang/Class;+257 java.base@11-ea
j  java.lang.invoke.InnerClassLambdaMetafactory.buildCallSite()Ljava/lang/invoke/CallSite;+1 java.base@11-ea
j  java.lang.invoke.LambdaMetafactory.metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;+31 java.base@11-ea
j  java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@11-ea
j  java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+28 java.base@11-ea
j  java.lang.invoke.BootstrapMethodInvoker.invoke(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;+262 java.base@11-ea
j  java.lang.invoke.CallSite.makeSite(Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/invoke/CallSite;+8 java.base@11-ea
j  java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+6 java.base@11-ea
j  java.lang.invoke.MethodHandleNatives.linkCallSite(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/invoke/MemberName;+46 java.base@11-ea
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x71363a]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x478
V  [libjvm.dylib+0x7129ee]  JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x17a
V  [libjvm.dylib+0xd21321]  SystemDictionary::find_dynamic_call_site_invoker(Klass*, int, Handle, Symbol*, Symbol*, Handle*, Handle*, Thread*)+0xaf9
V  [libjvm.dylib+0x9ded05]  LinkResolver::resolve_dynamic_call(CallInfo&, int, Handle, Symbol*, Symbol*, Klass*, Thread*)+0x59
V  [libjvm.dylib+0x9de0f0]  LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, Thread*)+0x6de
V  [libjvm.dylib+0x9dd71b]  LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x81
V  [libjvm.dylib+0x6fde53]  InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0x12b
V  [libjvm.dylib+0x6fe00f]  InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x117
j  jdk.vm.ci.runtime.test.TypeUniverse.<clinit>()V+491
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x71363a]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x478
V  [libjvm.dylib+0x6dbb3b]  InstanceKlass::call_class_initializer(Thread*)+0x223
V  [libjvm.dylib+0x6dacaa]  InstanceKlass::initialize_impl(Thread*)+0x710
V  [libjvm.dylib+0x6da541]  InstanceKlass::initialize(Thread*)+0x25
V  [libjvm.dylib+0x6daa22]  InstanceKlass::initialize_impl(Thread*)+0x488
V  [libjvm.dylib+0x6da541]  InstanceKlass::initialize(Thread*)+0x25
V  [libjvm.dylib+0xc49f06]  Reflection::invoke_constructor(oop, objArrayHandle, Thread*)+0x212
V  [libjvm.dylib+0x849bef]  JVM_NewInstanceFromConstructor+0x270
j  jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@11-ea
j  jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+85 java.base@11-ea
j  jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+5 java.base@11-ea
j  java.lang.reflect.Constructor.newInstance([Ljava/lang/Object;)Ljava/lang/Object;+68 java.base@11-ea
j  org.junit.runners.BlockJUnit4ClassRunner.createTest()Ljava/lang/Object;+11
j  org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall()Ljava/lang/Object;+4
j  org.junit.internal.runners.model.ReflectiveCallable.run()Ljava/lang/Object;+1
j  org.junit.runners.BlockJUnit4ClassRunner.methodBlock(Lorg/junit/runners/model/FrameworkMethod;)Lorg/junit/runners/model/Statement;+8
j  org.junit.runners.BlockJUnit4ClassRunner.runChild(Lorg/junit/runners/model/FrameworkMethod;Lorg/junit/runner/notification/RunNotifier;)V+27
j  org.junit.runners.BlockJUnit4ClassRunner.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j  org.junit.runners.ParentRunner$3.run()V+12
j  org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j  org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+40
j  org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j  org.junit.runners.ParentRunner$2.evaluate()V+8
j  org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j  org.junit.runners.Suite.runChild(Lorg/junit/runner/Runner;Lorg/junit/runner/notification/RunNotifier;)V+2
j  org.junit.runners.Suite.runChild(Ljava/lang/Object;Lorg/junit/runner/notification/RunNotifier;)V+6
j  org.junit.runners.ParentRunner$3.run()V+12
j  org.junit.runners.ParentRunner$1.schedule(Ljava/lang/Runnable;)V+1
j  org.junit.runners.ParentRunner.runChildren(Lorg/junit/runner/notification/RunNotifier;)V+40
j  org.junit.runners.ParentRunner.access$000(Lorg/junit/runners/ParentRunner;Lorg/junit/runner/notification/RunNotifier;)V+2
j  org.junit.runners.ParentRunner$2.evaluate()V+8
j  org.junit.runners.ParentRunner.run(Lorg/junit/runner/notification/RunNotifier;)V+20
j  org.junit.runner.JUnitCore.run(Lorg/junit/runner/Runner;)Lorg/junit/runner/Result;+37
j  org.junit.runner.JUnitCore.run(Lorg/junit/runner/Request;)Lorg/junit/runner/Result;+5
j  org.junit.runner.JUnitCore.run(Lorg/junit/runner/Computer;[Ljava/lang/Class;)Lorg/junit/runner/Result;+6
j  org.junit.runner.JUnitCore.runClasses([Ljava/lang/Class;)Lorg/junit/runner/Result;+11
j  com.sun.javatest.regtest.agent.JUnitRunner.main(Ljava/lang/ClassLoader;[Ljava/lang/String;)V+189
j  com.sun.javatest.regtest.agent.JUnitRunner.main([Ljava/lang/String;)V+2
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x71363a]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x478
V  [libjvm.dylib+0xc49011]  invoke(InstanceKlass*, methodHandle const&, Handle, bool, objArrayHandle, BasicType, objArrayHandle, bool, Thread*)+0xad2
V  [libjvm.dylib+0xc483f8]  Reflection::invoke_method(oop, Handle, objArrayHandle, Thread*)+0x296
V  [libjvm.dylib+0x84963a]  JVM_InvokeMethod+0x543
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 java.base@11-ea
j  jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100 java.base@11-ea
j  jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 java.base@11-ea
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+59 java.base@11-ea
j  com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+172
j  java.lang.Thread.run()V+11 java.base@11-ea
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x71363a]  JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, Thread*)+0x478
V  [libjvm.dylib+0x71202f]  JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x2a9
V  [libjvm.dylib+0x712161]  JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, Thread*)+0x5f
V  [libjvm.dylib+0x8414ea]  thread_entry(JavaThread*, Thread*)+0x162
V  [libjvm.dylib+0xd549c7]  JavaThread::thread_main_inner()+0x1ed
V  [libjvm.dylib+0xd544a0]  JavaThread::run()+0x3ee
V  [libjvm.dylib+0xb94458]  thread_native_entry(Thread*)+0x12b
C  [libsystem_pthread.dylib+0x3661]  _pthread_body+0x154
C  [libsystem_pthread.dylib+0x350d]  _pthread_body+0x0
C  [libsystem_pthread.dylib+0x2bf9]  thread_start+0xd

Comments
The crash for TestMetaAccessProvider.java has only happened once on one machine, which may have been a bad machine. The other crashes all involve ForceEarlyReturn. When I get a failure on those tests, it looks like JDK-6449023 instead. Closing this as Cannot Reproduce.
10-08-2018

I haven't been able to reproduce this. I see that the bad bcp is very close to "sp" in the current thread: Stack: [0x00007000019ab000,0x0000700001aab000], sp=0x0000700001aa78a0, free space=1010k # assert(is_native() && bcp == code_base() || contains(bcp) || VMError::is_error_reported()) failed: bcp doesn't belong to this method: bcp: 0x0000700001aa7ca0, method: java.lang.invoke.InnerClassLambdaMetafactory.generateConstructor()V Other recent developer crashes matching this assert all seem to be throwing an exception from invokedynamic/lambda code, and all java JVMCI enabled.
08-08-2018

[~kbarrett] It does seems suspicious that it's the same machine. However for JDK-8207024, it doesn't look like a bit flip value. It looks like 0x0000000800000000 (Narrow klass base) + 0xbaadbabe (badHeapWordVal).
27-07-2018

Both JDK-8207163 and JDK-8207024 appear to have an unexpectedly set bit (0x8) in the high 32bits of a value. Both failed once, on the same machine as this one. That seems suspicious.
27-07-2018

Looking at other crashes from the same failed jobs, I see one with the bad value 0xbaadbabe, and all the frames are interpreted, not compiled. This sounds like JDK-8207202.
24-07-2018

For some reason this seems to happen only on mac osx so far.
24-07-2018

Looks similar to JDK-8190817
20-07-2018