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

java/foreign/TestMappedHandshake.java fails with assert(depth < max_critical_stack_depth) failed: can't have more than 10 critical frames

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • 24
    • core-libs
    • b15
    • ppc, x86_64
    • linux, aix

      The following new test failed in the JDK24 CI:

      java/foreign/TestMappedHandshake.java

      Here's a snippet from the log file:

      #section:testng
      ----------messages:(7/437)----------
      command: testng -Xint TestMappedHandshake
      reason: User specified action: run testng/othervm -Xint TestMappedHandshake
      started: Fri Sep 06 17:52:01 UTC 2024
      Mode: othervm [/othervm specified]
      Additional options from @modules: --add-modules java.base --add-exports java.base/jdk.internal.vm.annotation=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED
      finished: Fri Sep 06 17:52:16 UTC 2024
      elapsed time (seconds): 15.368
      ----------configuration:(5/193)----------
      Boot Layer
        add modules: java.base
        add exports: java.base/jdk.internal.misc ALL-UNNAMED
                     java.base/jdk.internal.vm.annotation ALL-UNNAMED

      ----------System.out:(19/1870)----------
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/a20696e7-ae7d-4d37-8e9c-83f99ef002cb-S11380/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/26099433-96c9-4418-a7f4-759ce6a7ecbf/runs/ffd37981-b478-4cd2-9276-5786fd8efa97/workspace/open/src/hotspot/share/prims/scopedMemoryAccess.cpp:64), pid=2150381, tid=2150490
      # assert(depth < max_critical_stack_depth) failed: can't have more than 10 critical frames
      #
      # JRE version: Java(TM) SE Runtime Environment (24.0+15) (fastdebug build 24-ea+15-1557)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-ea+15-1557, interpreted mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x1622e49] bool for_scoped_method<is_accessing_session(JavaThread*, oop, bool&)::{lambda(vframeStream&)#1}>(JavaThread*, is_accessing_session(JavaThread*, oop, bool&)::{lambda(vframeStream&)#1} const&)+0xe69
      #
      # Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/a20696e7-ae7d-4d37-8e9c-83f99ef002cb-S5269/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/50acc71b-f6b2-4cdf-ad02-538cf3065c28/runs/9ac31abe-9bac-4f5e-9fe1-c430cf6bbd1b/testoutput/test-support/jtreg_open_test_jdk_tier1/scratch/4/core.2150381)
      #
      # An error report file with more information is saved as:
      # /opt/mach5/mesos/work_dir/slaves/a20696e7-ae7d-4d37-8e9c-83f99ef002cb-S5269/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/50acc71b-f6b2-4cdf-ad02-538cf3065c28/runs/9ac31abe-9bac-4f5e-9fe1-c430cf6bbd1b/testoutput/test-support/jtreg_open_test_jdk_tier1/scratch/4/hs_err_pid2150381.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      ----------System.err:(0/0)----------
      ----------rerun:(42/6402)*----------

      <snip>

      result: Failed. Unexpected exit from test [exit code: 134]

      Here's the crashing thread's stack:

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

      Current thread (0x00007fdc6812cf20): JavaThread "pool-1-thread-2" [_thread_in_vm, id=2150490, stack(0x00007fdcdcd7a000,0x00007fdcdce7a000) (1024K)]

      Stack: [0x00007fdcdcd7a000,0x00007fdcdce7a000], sp=0x00007fdcdce73200, free space=996k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x1622e49] bool for_scoped_method<is_accessing_session(JavaThread*, oop, bool&)::{lambda(vframeStream&)#1}>(JavaThread*, is_accessing_session(JavaThread*, oop, bool&)::{lambda(vframeStream&)#1} const&)+0xe69 (scopedMemoryAccess.cpp:64)
      V [libjvm.so+0x1623454] CloseScopedMemoryClosure::do_thread(Thread*)+0xf4 (scopedMemoryAccess.cpp:81)
      V [libjvm.so+0xdb1667] HandshakeOperation::do_handshake(JavaThread*)+0x47 (handshake.cpp:326)
      V [libjvm.so+0xdb1891] HandshakeState::process_by_self(bool, bool)+0x141 (handshake.cpp:577)
      V [libjvm.so+0x161a745] SafepointMechanism::process(JavaThread*, bool, bool)+0x65 (safepointMechanism.cpp:159)
      V [libjvm.so+0x8d7267] ThreadInVMfromNative::ThreadInVMfromNative(JavaThread*)+0x177 (safepointMechanism.inline.hpp:83)
      V [libjvm.so+0x183553f] Unsafe_GetReferenceVolatile+0x4f (unsafe.cpp:284)
      j jdk.internal.misc.Unsafe.getReferenceVolatile(Ljava/lang/Object;J)Ljava/lang/Object;+0 java.base@24-ea
      j jdk.internal.misc.Unsafe.getReferenceAcquire(Ljava/lang/Object;J)Ljava/lang/Object;+3 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap.tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;+15 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$Traverser.advance()Ljava/util/concurrent/ConcurrentHashMap$Node;+72 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$BaseIterator.<init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V+16 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$ValueIterator.<init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V+8 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$ValuesView.iterator()Ljava/util/Iterator;+30 java.base@24-ea
      j jdk.internal.loader.NativeLibraries.find(Ljava/lang/String;)J+23 java.base@24-ea
      j java.lang.ClassLoader.findNative(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)J+9 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01
      V [libjvm.so+0xe7d02c] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x48c (javaCalls.cpp:421)
      V [libjvm.so+0xe7e836] JavaCalls::call_static(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x136 (javaCalls.cpp:329)
      V [libjvm.so+0x14393a0] NativeLookup::lookup_style(methodHandle const&, char*, char const*, int, bool, JavaThread*)+0x680 (nativeLookup.cpp:287)
      V [libjvm.so+0x1439a75] NativeLookup::lookup_entry(methodHandle const&, JavaThread*)+0x75 (nativeLookup.cpp:342)
      V [libjvm.so+0x143a3e8] NativeLookup::lookup_base(methodHandle const&, JavaThread*)+0x48 (nativeLookup.cpp:410)
      V [libjvm.so+0x143a669] NativeLookup::lookup(methodHandle const&, JavaThread*)+0x49 (nativeLookup.cpp:437)
      V [libjvm.so+0xe6251e] InterpreterRuntime::prepare_native_call(JavaThread*, Method*)+0x9e (interpreterRuntime.cpp:1464)
      j java.nio.MappedMemoryUtils.registerNatives()V+0 java.base@24-ea
      j java.nio.MappedMemoryUtils.<clinit>()V+0 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01
      V [libjvm.so+0xe7d02c] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x48c (javaCalls.cpp:421)
      V [libjvm.so+0xe295fa] InstanceKlass::call_class_initializer(JavaThread*)+0x26a (instanceKlass.cpp:1602)
      V [libjvm.so+0xe2f345] InstanceKlass::initialize_impl(JavaThread*)+0x7d5 (instanceKlass.cpp:1206)
      V [libjvm.so+0xe2f9be] InstanceKlass::initialize(JavaThread*)+0x9e (instanceKlass.cpp:773)
      V [libjvm.so+0x1252878] LinkResolver::resolve_static_call(CallInfo&, LinkInfo const&, bool, JavaThread*)+0x98 (linkResolver.cpp:1112)
      V [libjvm.so+0x1252b13] LinkResolver::resolve_invokestatic(CallInfo&, constantPoolHandle const&, int, JavaThread*)+0x73 (linkResolver.cpp:1746)
      V [libjvm.so+0x1255e68] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, JavaThread*)+0x108 (linkResolver.cpp:1705)
      V [libjvm.so+0xe63ad7] InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x2d7 (interpreterRuntime.cpp:824)
      V [libjvm.so+0xe642e8] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x88 (interpreterRuntime.cpp:986)
      j java.nio.Buffer$2.load(JZJ)V+4 java.base@24-ea
      j jdk.internal.misc.ScopedMemoryAccess.loadInternal(Ljdk/internal/foreign/MemorySessionImpl;JZJ)V+16 java.base@24-ea
      j jdk.internal.misc.ScopedMemoryAccess.load(Ljdk/internal/foreign/MemorySessionImpl;JZJ)V+7 java.base@24-ea
      j jdk.internal.foreign.MappedMemorySegmentImpl.load()V+31 java.base@24-ea
      j TestMappedHandshake$MappedSegmentAccessor.doAction()V+4
      j TestMappedHandshake$TimedAction.run()V+5
      j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@24-ea
      j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@24-ea
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@24-ea
      j java.lang.Thread.run()V+19 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01
      V [libjvm.so+0xe7d02c] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x48c (javaCalls.cpp:421)
      V [libjvm.so+0xe7d6fc] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x34c (javaCalls.cpp:329)
      V [libjvm.so+0xe7d916] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x76 (javaCalls.cpp:191)
      V [libjvm.so+0xfeb893] thread_entry(JavaThread*, JavaThread*)+0x93 (jvm.cpp:2910)
      V [libjvm.so+0xeb3b4c] JavaThread::thread_main_inner()+0xcc (javaThread.cpp:758)
      V [libjvm.so+0x17e0ae6] Thread::call_run()+0xb6 (thread.cpp:225)
      V [libjvm.so+0x14c9de7] thread_native_entry(Thread*)+0x127 (os_linux.cpp:858)
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      j jdk.internal.misc.Unsafe.getReferenceVolatile(Ljava/lang/Object;J)Ljava/lang/Object;+0 java.base@24-ea
      j jdk.internal.misc.Unsafe.getReferenceAcquire(Ljava/lang/Object;J)Ljava/lang/Object;+3 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap.tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;+15 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$Traverser.advance()Ljava/util/concurrent/ConcurrentHashMap$Node;+72 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$BaseIterator.<init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V+16 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$ValueIterator.<init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V+8 java.base@24-ea
      j java.util.concurrent.ConcurrentHashMap$ValuesView.iterator()Ljava/util/Iterator;+30 java.base@24-ea
      j jdk.internal.loader.NativeLibraries.find(Ljava/lang/String;)J+23 java.base@24-ea
      j java.lang.ClassLoader.findNative(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)J+9 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01
      j java.nio.MappedMemoryUtils.registerNatives()V+0 java.base@24-ea
      j java.nio.MappedMemoryUtils.<clinit>()V+0 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01
      j java.nio.Buffer$2.load(JZJ)V+4 java.base@24-ea
      j jdk.internal.misc.ScopedMemoryAccess.loadInternal(Ljdk/internal/foreign/MemorySessionImpl;JZJ)V+16 java.base@24-ea
      j jdk.internal.misc.ScopedMemoryAccess.load(Ljdk/internal/foreign/MemorySessionImpl;JZJ)V+7 java.base@24-ea
      j jdk.internal.foreign.MappedMemorySegmentImpl.load()V+31 java.base@24-ea
      j TestMappedHandshake$MappedSegmentAccessor.doAction()V+4
      j TestMappedHandshake$TimedAction.run()V+5
      j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@24-ea
      j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@24-ea
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@24-ea
      j java.lang.Thread.run()V+19 java.base@24-ea
      v ~StubRoutines::call_stub 0x00007fdcec82fd01


      This test (java/foreign/TestMappedHandshake.java) was recently
      added by the following fix:

      JDK-8339285 Test fails with assert(depth < max_critical_stack_depth) failed: can't have more than 10 critical frames

            mcimadamore Maurizio Cimadamore
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: