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

[lworld] Assert in unsafe.cpp "This method handles only flat layouts"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • repo-valhalla
    • hotspot

      Attached simple Test.java fails with an assert when running with "-Xint -XX:+UseNullableValueFlattening -XX:-UseAtomicValueFlattening -XX:-UseNonAtomicValueFlattening":

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle/valhalla/open/src/hotspot/share/prims/unsafe.cpp:464), pid=583932, tid=583933
      # assert(layoutKind != (int)LayoutKind::REFERENCE) failed: This method handles only flat layouts
      #
      # JRE version: Java(TM) SE Runtime Environment (25.0) (fastdebug build 25-lworld5ea-LTS-2025-04-07-0554029.tobias...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-lworld5ea-LTS-2025-04-07-0554029.tobias..., interpreted mode, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1a8c591] Unsafe_GetFlatValue+0x471

      Current thread (0x00007bf7d002d8d0): JavaThread "main" [_thread_in_vm, id=583933, stack(0x00007bf7d6217000,0x00007bf7d6317000) (1024K)]

      Stack: [0x00007bf7d6217000,0x00007bf7d6317000], sp=0x00007bf7d6314f20, free space=1015k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1a8c591] Unsafe_GetFlatValue+0x471 (unsafe.cpp:464)
      j jdk.internal.misc.Unsafe.getFlatValue(Ljava/lang/Object;JILjava/lang/Class;)Ljava/lang/Object;+0 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af08a400.invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+43 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af090800.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+17 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af08d400.guard(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+34 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af08d000.reinvoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+20 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af08d400.guard(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+74 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af08d000.reinvoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+20 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af091c00.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+128 java.base
      j java.lang.invoke.LambdaForm$MH+0x00000000af091000.invoke_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)I+22 java.base
      j java.lang.runtime.ValueObjectMethods.isSubstitutable(Ljava/lang/Object;Ljava/lang/Object;)Z+96 java.base
      v ~StubRoutines::call_stub 0x00007bf7cd000d01
      V [libjvm.so+0xfdce9f] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4df (javaCalls.cpp:429)
      V [libjvm.so+0xfbf281] InterpreterRuntime::is_substitutable(JavaThread*, oopDesc*, oopDesc*)+0x301 (interpreterRuntime.cpp:356)
      j Test.main([Ljava/lang/String;)V+18
      v ~StubRoutines::call_stub 0x00007bf7cd000d01
      V [libjvm.so+0xfdce9f] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x4df (javaCalls.cpp:429)
      V [libjvm.so+0x1125be0] jni_invoke_static(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, JavaThread*) [clone .constprop.1]+0x410 (jni.cpp:887)
      V [libjvm.so+0x1129b70] jni_CallStaticVoidMethod+0x210 (jni.cpp:1746)
      C [libjli.so+0x3a3a] invokeStaticMainWithArgs+0x4a (java.c:392)
      C [libjli.so+0x4af9] JavaMain+0xee9 (java.c:640)
      C [libjli.so+0x7b19] ThreadJavaMain+0x9 (java_md.c:649)

        1. hs_err_pid584482.log
          77 kB
          Tobias Hartmann
        2. Test.java
          2 kB
          Tobias Hartmann

            liach Chen Liang
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: