Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8306568

[lworld] Oop verification failure in InlineKlass::returned_inline_klass

XMLWordPrintable

      InlineOops.java fails intermittently with -XX:+VerifyOops

      vtClass=primitive class runtime.valhalla.inlinetypes.Person
      Failed: 0x0000100001701238 -> 0x0000040000e95210
      Heap
       ZHeap used 24M, capacity 128M, max capacity 128M
       Metaspace used 9194K, committed 9472K, reserved 1114112K
        class space used 800K, committed 960K, reserved 1048576K

      {method}
       - this oop: 0x00007f68a8413268
       - method holder: 'java/lang/invoke/LambdaForm$Name'
       - constants: 0x00007f68a8411888 constant pool [361] {0x00007f68a8411888} for 'java/lang/invoke/LambdaForm$Name' cache=0x00007f68a8415110
       - access: 0x0
       - name: 'type'
       - signature: '()Ljava/lang/invoke/LambdaForm$BasicType;'
       - max stack: 2
       - max locals: 1
       - size of params: 1
       - method size: 16
       - highest level: 1
       - vtable index: -2
       - i2i entry: 0x00007f6ad0559680
       - adapters: AHE@0x00007f6ad8078230: 0xb0000000 i2c: 0x00007f6ad067c3e0 c2i: 0x00007f6ad067c48a c2iVE: 0x00007f6ad067c48a c2iVROE: 0x00007f6ad067c48a c2iUE: 0x00007f6ad067c465 c2iUVE: 0x00007f6ad067c465 c2iNCI: 0x00007f6ad067c4c4
       - compiled entry 0x00007f6ad0ae1d00
       - compiled inline entry 0x00007f6ad0ae1d00
       - compiled inline ro entry 0x00007f6ad0ae1d00
       - code size: 5
       - code start: 0x00007f68a8413250
       - code end (excl): 0x00007f68a8413255
       - checked ex length: 0
       - linenumber start: 0x00007f68a8413255
       - localvar length: 1
       - localvar start: 0x00007f68a841325a
       - compiled code: nmethod 817 141 1 java.lang.invoke.LambdaForm$Name::type (5 bytes)


      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle/valhalla/open/src/hotspot/share/oops/instanceKlass.cpp:3954), pid=215271, tid=215295
      # guarantee(false) failed: boom
      #
      # JRE version: Java(TM) SE Runtime Environment (21.0) (fastdebug build 21-lworld4ea-LTS-2023-02-06-0803323.tobias...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 21-lworld4ea-LTS-2023-02-06-0803323.tobias..., mixed mode, tiered, compressed class ptrs, z gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x104df6b] void OopOopIterateDispatch<VerifyFieldClosure>::Table::oop_oop_iterate<InstanceKlass, oop>(VerifyFieldClosure*, oop, Klass*)+0x2fb
      #
      # 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:
      # https://bugreport.java.com/bugreport/crash.jsp
      #

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

      Command Line: -Dtest.vm.opts=-XX:+VerifyOops -XX:+VerifyStack -XX:+VerifyLastFrame -XX:+VerifyBeforeGC -XX:+VerifyAfterGC -XX:+VerifyDuringGC -Djdk.test.lib.random.seed=-2863136324025569010 -Dtest.tool.vm.opts=-J-XX:+VerifyOops -J-XX:+VerifyStack -J-XX:+VerifyLastFrame -J-XX:+VerifyBeforeGC -J-XX:+VerifyAfterGC -J-XX:+VerifyDuringGC -J-Djdk.test.lib.random.seed=-2863136324025569010 -Dtest.compiler.opts= -Dtest.java.opts= -Dtest.jdk=/oracle/valhalla/build/fastdebug/jdk -Dcompile.jdk=/oracle/valhalla/build/fastdebug/jdk -Dtest.timeout.factor=10.0 -Dtest.root=/oracle/valhalla/open/test/hotspot/jtreg -Dtest.name=runtime/valhalla/inlinetypes/InlineOops.java#id3 -Dtest.file=/oracle/valhalla/open/test/hotspot/jtreg/runtime/valhalla/inlinetypes/InlineOops.java -Dtest.src=/oracle/valhalla/open/test/hotspot/jtreg/runtime/valhalla/inlinetypes -Dtest.src.path=/oracle/valhalla/open/test/hotspot/jtreg/runtime/valhalla/inlinetypes:/oracle/valhalla/open/test/lib:/oracle/valhalla/open/test/jdk/lib/testlibrary/bytecode:/oracle/valhalla/open/test/jdk/java/lang/invoke/common -Dtest.classes=/oracle/valhalla/open/JTwork/classes/runtime/valhalla/inlinetypes/InlineOops_id3.d -Dtest.class.path=/oracle/valhalla/open/JTwork/classes/runtime/valhalla/inlinetypes/InlineOops_id3.d:/oracle/valhalla/open/JTwork/classes/test/lib:/oracle/valhalla/open/JTwork/classes/test/jdk/lib/testlibrary/bytecode:/oracle/valhalla/open/JTwork/classes/test/jdk/java/lang/invoke/common -Dtest.modules=java.base/jdk.internal.value --add-modules=java.base --add-exports=java.base/jdk.internal.value=ALL-UNNAMED -XX:+VerifyOops -XX:+VerifyStack -XX:+VerifyLastFrame -XX:+VerifyBeforeGC -XX:+VerifyAfterGC -XX:+VerifyDuringGC -Djdk.test.lib.random.seed=-2863136324025569010 -XX:+EnableValhalla -XX:+EnablePrimitiveClasses -XX:+UnlockExperimentalVMOptions -XX:+UseZGC -Xmx128m -XX:+UnlockDiagnosticVMOptions -XX:+ZVerifyViews -XX:InlineFieldMaxFlatSize=128 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI com.sun.javatest.regtest.agent.MainWrapper /oracle/valhalla/open/JTwork/runtime/valhalla/inlinetypes/InlineOops_id3.d/main.2.jta

      Host: prometheus, Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz, 12 cores, 31G, Ubuntu 20.04.4 LTS
      Time: Thu Apr 20 15:53:18 2023 CEST elapsed time: 2.751158 seconds (0d 0h 0m 2s)

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

      Current thread (0x00007f02c86900a0): JavaThread "MainThread" [_thread_in_vm, id=215295, stack(0x00007f02cc38e000,0x00007f02cc48f000)]

      Stack: [0x00007f02cc38e000,0x00007f02cc48f000], sp=0x00007f02cc488c50, free space=1003k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x104df6b] void OopOopIterateDispatch<VerifyFieldClosure>::Table::oop_oop_iterate<InstanceKlass, oop>(VerifyFieldClosure*, oop, Klass*)+0x2fb (instanceKlass.cpp:3954)
      V [libjvm.so+0x104b12a] InstanceKlass::oop_verify_on(oop, outputStream*)+0x9a (iterator.inline.hpp:302)
      V [libjvm.so+0x1761d56] oopDesc::verify(oopDesc*)+0x66 (oop.cpp:90)
      V [libjvm.so+0x101f3a5] InlineKlass::returned_inline_klass(RegisterMap const&)+0x135 (inlineKlass.cpp:499)
      V [libjvm.so+0x1912f79] ThreadSafepointState::handle_polling_page_exception()+0x1769 (safepoint.cpp:930)
      V [libjvm.so+0x1913e10] SafepointSynchronize::handle_polling_page_exception(JavaThread*)+0x100 (safepoint.cpp:755)
      v ~SafepointBlob 0x00007f02c067e79b
      j java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V+41 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.addMethod()V+698 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes()[B+6 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCode(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;+27 java.base
      j java.lang.invoke.LambdaForm.compileToBytecode()V+69 java.base
      j java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;+750 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;+17 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;+159 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;+2 java.base
      j java.lang.invoke.DirectMethodHandle.make(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle;+183 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;+210 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;+14 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;+31 java.base
      j java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;+153 java.base
      j java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;+38 java.base
      v ~StubRoutines::call_stub 0x00007f02c0537d33
      V [libjvm.so+0x109f53d] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x56d (javaCalls.cpp:445)
      V [libjvm.so+0x10a0dc2] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x292 (javaCalls.cpp:347)
      V [libjvm.so+0x1abdca7] SystemDictionary::link_method_handle_constant(Klass*, int, Klass*, Symbol*, Symbol*, JavaThread*)+0x4a7 (systemDictionary.cpp:2458)
      V [libjvm.so+0xba6794] ConstantPool::resolve_constant_at_impl(constantPoolHandle const&, int, int, bool*, JavaThread*)+0xa24 (constantPool.cpp:1152)
      V [libjvm.so+0xba7733] ConstantPool::copy_bootstrap_arguments_at_impl(constantPoolHandle const&, int, int, int, objArrayHandle, int, bool, Handle, JavaThread*)+0x3a3 (constantPool.hpp:738)
      V [libjvm.so+0x7a851d] BootstrapInfo::resolve_args(JavaThread*)+0xf8d (constantPool.hpp:751)
      V [libjvm.so+0x7ab670] BootstrapInfo::resolve_bsm(JavaThread*)+0x1390 (bootstrapInfo.cpp:107)
      V [libjvm.so+0x1ac003e] SystemDictionary::invoke_bootstrap_method(BootstrapInfo&, JavaThread*)+0x4e (systemDictionary.cpp:2471)
      V [libjvm.so+0x14a17d5] LinkResolver::resolve_dynamic_call(CallInfo&, BootstrapInfo&, JavaThread*)+0x25 (linkResolver.cpp:1845)
      V [libjvm.so+0x14a1d36] LinkResolver::resolve_invokedynamic(CallInfo&, constantPoolHandle const&, int, JavaThread*)+0x126 (linkResolver.cpp:1817)
      V [libjvm.so+0x1084c82] InterpreterRuntime::resolve_invokedynamic(JavaThread*)+0x1a2 (interpreterRuntime.cpp:1209)
      V [libjvm.so+0x1089a58] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x1a8 (interpreterRuntime.cpp:1239)
      j runtime.valhalla.inlinetypes.InlineOops.submitNewWork(Ljava/util/concurrent/ForkJoinPool;)V+9
      j runtime.valhalla.inlinetypes.InlineOops.testActiveGc()V+85
      j runtime.valhalla.inlinetypes.InlineOops.main([Ljava/lang/String;)V+32
      j java.lang.invoke.LambdaForm$DMH+0x00000000800c7800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000800c9400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000800c9800.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base
      j java.lang.Thread.run()V+19 java.base
      v ~StubRoutines::call_stub 0x00007f02c0537d33
      V [libjvm.so+0x109f53d] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x56d (javaCalls.cpp:445)
      V [libjvm.so+0x10a0372] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x442 (javaCalls.cpp:347)
      V [libjvm.so+0x10a09c1] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x71 (javaCalls.cpp:196)
      V [libjvm.so+0x122447b] thread_entry(JavaThread*, JavaThread*)+0x12b (jvm.cpp:3005)
      V [libjvm.so+0x10d6bc6] JavaThread::thread_main_inner()+0x206 (javaThread.cpp:711)
      V [libjvm.so+0x1b261a0] Thread::call_run()+0x100 (thread.cpp:224)
      V [libjvm.so+0x1797d23] thread_native_entry(Thread*)+0x103 (os_linux.cpp:739)
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      v ~SafepointBlob 0x00007f02c067e79b
      j java.lang.invoke.InvokerBytecodeGenerator.emitStaticInvoke(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V+41 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.addMethod()V+698 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCodeBytes()[B+6 java.base
      j java.lang.invoke.InvokerBytecodeGenerator.generateCustomizedCode(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName;+27 java.base
      j java.lang.invoke.LambdaForm.compileToBytecode()V+69 java.base
      j java.lang.invoke.DirectMethodHandle.makePreparedLambdaForm(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;+750 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/LambdaForm;+17 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MemberName;Z)Ljava/lang/invoke/LambdaForm;+159 java.base
      j java.lang.invoke.DirectMethodHandle.preparedLambdaForm(Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/LambdaForm;+2 java.base
      j java.lang.invoke.DirectMethodHandle.make(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/DirectMethodHandle;+183 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodCommon(BLjava/lang/Class;Ljava/lang/invoke/MemberName;ZZLjava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;+210 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodNoSecurityManager(BLjava/lang/Class;Ljava/lang/invoke/MemberName;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/invoke/MethodHandle;+14 java.base
      j java.lang.invoke.MethodHandles$Lookup.getDirectMethodForConstant(BLjava/lang/Class;Ljava/lang/invoke/MemberName;)Ljava/lang/invoke/MethodHandle;+31 java.base
      j java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(BLjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;+153 java.base
      j java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(Ljava/lang/Class;ILjava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;+38 java.base
      v ~StubRoutines::call_stub 0x00007f02c0537d33
      j runtime.valhalla.inlinetypes.InlineOops.submitNewWork(Ljava/util/concurrent/ForkJoinPool;)V+9
      j runtime.valhalla.inlinetypes.InlineOops.testActiveGc()V+85
      j runtime.valhalla.inlinetypes.InlineOops.main([Ljava/lang/String;)V+32
      j java.lang.invoke.LambdaForm$DMH+0x00000000800c7800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000800c9400.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000800c9800.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base
      j com.sun.javatest.regtest.agent.MainWrapper$MainThread.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base
      j java.lang.Thread.run()V+19 java.base
      v ~StubRoutines::call_stub 0x00007f02c0537d33

            thartmann Tobias Hartmann
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: