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

[lworld] Virtual threads don't support the value class calling convention

XMLWordPrintable

      When running java/util/stream/GatherersMapConcurrentTest.java with --enable-preview and -Xcomp, the VM crashes with the following message:

      #
      # SIGSEGV (0xb) at pc=0x00007a588e03e640, pid=469785, tid=472249
      #
      # JRE version: Java(TM) SE Runtime Environment (23.0) (fastdebug build 23-lworld5ea-2024-06-21-1558186.fred...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 23-lworld5ea-2024-06-21-1558186.fred..., compiled mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x83e640] frame::sender_for_compiled_frame(RegisterMap*) const+0x150
      #

      Stack trace:

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

      Current thread (0x00007a58044c97c0): JavaThread "ForkJoinPool-1-worker-7" daemon [_thread_in_vm, id=472249, stack(0x00007a5861bf3000,0x00007a5861cf3000) (1024K)]

      Stack: [0x00007a5861bf3000,0x00007a5861cf3000], sp=0x00007a5861ceece0, free space=1007k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x83e640] frame::sender_for_compiled_frame(RegisterMap*) const+0x150 (codeBlob.hpp:172)
      V [libjvm.so+0x83f080] frame::sender(RegisterMap*) const+0x2c0 (frame_x86.inline.hpp:376)
      V [libjvm.so+0xf3f9b8] java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&, JavaThread*)+0x1148 (javaClasses.cpp:2603)
      V [libjvm.so+0xf40210] java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&)+0x60 (javaClasses.cpp:2690)
      V [libjvm.so+0x108159c] JVM_FillInStackTrace+0x9c (jvm.cpp:527)
      C [libjava.so+0x145d1] Java_java_lang_Throwable_fillInStackTrace+0x11 (Throwable.c:49)
      J 843 java.lang.Throwable.fillInStackTrace(I)Ljava/lang/Throwable; java.base@23-lworld5ea (0 bytes) @ 0x00007a587888d2af [0x00007a587888d1e0+0x00000000000000cf]
      J 842 c2 java.lang.Throwable.fillInStackTrace()Ljava/lang/Throwable; java.base@23-lworld5ea (29 bytes) @ 0x00007a587888cb30 [0x00007a587888ca80+0x00000000000000b0]
      J 1339 c2 java.lang.Exception.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a5878929620 [0x00007a5878929500+0x0000000000000120]
      J 15935 c2 java.lang.RuntimeException.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a58798850f0 [0x00007a58798850c0+0x0000000000000030]
      J 19277 c2 GatherersMapConcurrentTest.lambda$cancelsStartedTasksIfExceptionDuringProcessingIsThrown$15(Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/CountDownLatch;ILjava/util/concurrent/Semaphore;ILjava/util/concurrent/CountDownLatch;Ljava/lang/Integer;)Ljava/lang/Integer; (161 bytes) @ 0x00007a5878969280 [0x00007a5878968e80+0x0000000000000400]

      [error occurred during error reporting (printing native stack (with source info)), id 0xb, SIGSEGV (0xb) at pc=0x00007a588e03e640]

      Retrying call stack printing without source information...
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x83e640] frame::sender_for_compiled_frame(RegisterMap*) const+0x150
      V [libjvm.so+0x83f080] frame::sender(RegisterMap*) const+0x2c0
      V [libjvm.so+0xf3f9b8] java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&, JavaThread*)+0x1148
      V [libjvm.so+0xf40210] java_lang_Throwable::fill_in_stack_trace(Handle, methodHandle const&)+0x60
      V [libjvm.so+0x108159c] JVM_FillInStackTrace+0x9c
      C [libjava.so+0x145d1] Java_java_lang_Throwable_fillInStackTrace+0x11
      J 843 java.lang.Throwable.fillInStackTrace(I)Ljava/lang/Throwable; java.base@23-lworld5ea (0 bytes) @ 0x00007a587888d2af [0x00007a587888d1e0+0x00000000000000c
      f]
      J 842 c2 java.lang.Throwable.fillInStackTrace()Ljava/lang/Throwable; java.base@23-lworld5ea (29 bytes) @ 0x00007a587888cb30 [0x00007a587888ca80+0x0000000000000
      0b0]
      J 1339 c2 java.lang.Exception.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a5878929620 [0x00007a5878929500+0x0000000000000120]
      J 15935 c2 java.lang.RuntimeException.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a58798850f0 [0x00007a58798850c0+0x0000000000000030]
      J 19277 c2 GatherersMapConcurrentTest.lambda$cancelsStartedTasksIfExceptionDuringProcessingIsThrown$15(Ljava/util/concurrent/CountDownLatch;Ljava/util/concurre
      nt/CountDownLatch;ILjava/util/concurrent/Semaphore;ILjava/util/concurrent/CountDownLatch;Ljava/lang/Integer;)Ljava/lang/Integer; (161 bytes) @ 0x00007a58789692
      80 [0x00007a5878968e80+0x0000000000000400]

      [error occurred during error reporting (retry printing native stack (no source info)), id 0xb, SIGSEGV (0xb) at pc=0x00007a588e03e640]
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      J 843 java.lang.Throwable.fillInStackTrace(I)Ljava/lang/Throwable; java.base@23-lworld5ea (0 bytes) @ 0x00007a587888d23e [0x00007a587888d1e0+0x000000000000005
      e]
      J 842 c2 java.lang.Throwable.fillInStackTrace()Ljava/lang/Throwable; java.base@23-lworld5ea (29 bytes) @ 0x00007a587888cb30 [0x00007a587888ca80+0x0000000000000
      0b0]
      J 1339 c2 java.lang.Exception.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a5878929620 [0x00007a5878929500+0x0000000000000120]
      J 15935 c2 java.lang.RuntimeException.<init>(Ljava/lang/String;)V java.base@23-lworld5ea (6 bytes) @ 0x00007a58798850f0 [0x00007a58798850c0+0x0000000000000030]
      J 19277 c2 GatherersMapConcurrentTest.lambda$cancelsStartedTasksIfExceptionDuringProcessingIsThrown$15(Ljava/util/concurrent/CountDownLatch;Ljava/util/concurre
      nt/CountDownLatch;ILjava/util/concurrent/Semaphore;ILjava/util/concurrent/CountDownLatch;Ljava/lang/Integer;)Ljava/lang/Integer; (161 bytes) @ 0x00007a58789692
      80 [0x00007a5878968e80+0x0000000000000400]

      [error occurred during error reporting (printing Java stack), id 0xb, SIGSEGV (0xb) at pc=0x00007a588e03e640]

      siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x0000000000000000

      Registers:
      RAX=0x00007a588f9aa644, RBX=0x00007a5861ceee00, RCX=0x00007a588803fa20, RDX=0x0000000000000000
      RSP=0x00007a5861ceece0, RBP=0x00007a5861ceed30, RSI=0x0000000000000003, RDI=0x0000000000000000
      R8 =0x0000000000000000, R9 =0x0000000000000000, R10=0x0000000000000000, R11=0x000000000000000c
      R12=0x00007a5861ceef30, R13=0x00007a5861cf1730, R14=0x0000000000000000, R15=0x00007a5861ceeef0
      RIP=0x00007a588e03e640, EFLAGS=0x0000000000010246, CSGSFS=0x002b000000000033, ERR=0x0000000000000004
        TRAPNO=0x000000000000000e


      Register to memory mapping:

      RAX=0x00007a588f9aa644: <offset 0x00000000021aa644> in /valhalla/build/lworld/images/jdk/lib/server/libjvm.so at 0x00007a588d80
      0000
      RBX=0x00007a5861ceee00 is pointing into the stack for thread: 0x00007a58044c97c0
      RCX=0x00007a588803fa20 into live malloced block starting at 0x00007a588803fa20, size 336, tag mtCode
      RDX=0x0 is null
      RSP=0x00007a5861ceece0 is pointing into the stack for thread: 0x00007a58044c97c0
      RBP=0x00007a5861ceed30 is pointing into the stack for thread: 0x00007a58044c97c0
      RSI=0x0000000000000003 is an unknown value
      RDI=0x0 is null
      R8 =0x0 is null
      R9 =0x0 is null
      R10=0x0 is null
      R11=0x000000000000000c is an unknown value
      R12=0x00007a5861ceef30 is pointing into the stack for thread: 0x00007a58044c97c0
      R13=0x00007a5861cf1730 is pointing into the stack for thread: 0x00007a58044c97c0
      R14=0x0 is null
      R15=0x00007a5861ceeef0 is pointing into the stack for thread: 0x00007a58044c97c0

        1. Test.java
          3 kB
          Tobias Hartmann

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

              Created:
              Updated: