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

[lworld] Several crashes when running test TestVirtualThreads.java

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3 P3
    • repo-valhalla
    • repo-valhalla
    • hotspot

      While working on JDK-8336845, I encountered several crashes when running test TestVirtualThreads.java developed by Tobias (attached). I updated the test to use Thread.ofPlatform instead of Thread.ofVirtual, and observed the same type of crashes, which suggests these are not Loom related.

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # SIGSEGV (0xb) at pc=0x00007fb0f6d04f16, pid=4101715, tid=4101744
      #
      # JRE version: Java(TM) SE Runtime Environment (25.0) (build 25-lworld5ea-LTS-2025-08-02-1436390.patricio.chilano.mateo.valhalla)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25-lworld5ea-LTS-2025-08-02-1436390.patricio.chilano.mateo.valhalla, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x8ebf16] void G1FullGCMarker::mark_and_push<oopDesc*>(oopDesc**) [clone .constprop.0] [clone .isra.0]+0x66

      Current thread (0x00007fb0cc0068c0): WorkerThread "GC Thread#6" [id=4101744, stack(0x00007fb0d4905000,0x00007fb0d4a05000) (1024K)]

      Stack: [0x00007fb0d4905000,0x00007fb0d4a05000], sp=0x00007fb0d4a025b0, free space=1013k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x8ebf16] void G1FullGCMarker::mark_and_push<oopDesc*>(oopDesc**) [clone .constprop.0] [clone .isra.0]+0x66 (atomic.hpp:553)
      V [libjvm.so+0xe8fa08] void OopMapDo<OopClosure, DerivedOopClosure, SkipNullValue>::iterate_oops_do<RegisterMap>(frame const*, RegisterMap const*, ImmutableOopMap const*)+0x398 (oopMap.inline.hpp:134)
      V [libjvm.so+0xe8f489] ImmutableOopMap::oops_do(frame const*, RegisterMap const*, OopClosure*, DerivedPointerIterationMode) const+0x59 (oopMap.inline.hpp:156)
      V [libjvm.so+0x88f82a] frame::oops_do_internal(OopClosure*, NMethodClosure*, DerivedOopClosure*, DerivedPointerIterationMode, RegisterMap const*, bool) const+0x21a (frame.cpp:1027)
      V [libjvm.so+0xa60642] JavaThread::oops_do_frames(OopClosure*, NMethodClosure*) [clone .part.0]+0xc2 (frame.hpp:484)
      V [libjvm.so+0x10c8e23] Thread::oops_do(OopClosure*, NMethodClosure*)+0x93 (thread.cpp:449)
      V [libjvm.so+0x10d5521] Threads::possibly_parallel_oops_do(bool, OopClosure*, NMethodClosure*)+0x81 (threads.cpp:1216)
      V [libjvm.so+0x955500] G1RootProcessor::process_strong_roots(OopClosure*, CLDClosure*, NMethodClosure*)+0x60 (g1RootProcessor.cpp:179)
      V [libjvm.so+0x8fc92e] G1FullGCMarkTask::work(unsigned int)+0xbe (g1FullGCMarkTask.cpp:47)
      V [libjvm.so+0x119d880] WorkerThread::run()+0x80 (workerThread.cpp:69)
      V [libjvm.so+0x10c932f] Thread::call_run()+0x9f (thread.cpp:231)
      V [libjvm.so+0xea5d06] thread_native_entry(Thread*)+0xd6 (os_linux.cpp:870)
      JavaThread 0x00007fb054036410 (nid = 4101748) was being processed
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      v ~SafepointBlob 0x00007fb0e480d949
      J 53 c2 TestVirtualThreads.testLargeValueWithOops2Helper(Ljava/lang/Object;ZZ)LTestVirtualThreads$LargeValueWithOops; (118 bytes) @ 0x00007fb0e48ebf50 [0x00007fb0e48ebc20+0x0000000000000330]
      j TestVirtualThreads.lambda$main$0(Ljava/util/concurrent/CountDownLatch;)V+135
      j TestVirtualThreads$$Lambda+0x00007fb087046228.run()V+4
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@25-lworld5ea
      j java.lang.Thread.run()V+19 java.base@25-lworld5ea
      v ~StubRoutines::call_stub 0x00007fb0e47abfa6

            Unassigned Unassigned
            pchilanomate Patricio Chilano Mateo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: