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

runtime/jni/FastGetField: assert(is_interpreted_frame()) failed: interpreted frame expected

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 22
    • 22
    • hotspot
    • b27
    • generic
    • generic
    • Verified

      The following test failed in the JDK22 CI:

      runtime/jni/FastGetField/FastGetField.java

      Here's a snippet from the macosx-aarch64 log file:

      #section:main
      ----------messages:(6/396)----------
      command: main -agentlib:FastGetField -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyJNIFields FastGetField 0
      reason: User specified action: run main/othervm/native -agentlib:FastGetField -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyJNIFields FastGetField 0
      started: Sat Dec 02 07:31:39 GMT 2023
      Mode: othervm [/othervm specified]
      finished: Sat Dec 02 07:31:44 GMT 2023
      elapsed time (seconds): 4.599
      ----------configuration:(0/0)----------
      ----------System.out:(19/1374)----------
      Loaded agent
      10000 iterations took 2415375ns.
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/System/Volumes/Data/mesos/work_dir/slaves/0db9c48f-6638-40d0-9a4b-bd9cc7533eb8-S29345/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/fdcc4d1f-1923-4060-864e-61e0d1898931/runs/66930a02-0927-48c2-a255-9a5a821f0206/workspace/open/src/hotspot/share/runtime/frame.cpp:405), pid=95350, tid=28419
      # assert(is_interpreted_frame()) failed: interpreted frame expected
      #
      # JRE version: Java(TM) SE Runtime Environment (22.0+27) (fastdebug build 22-ea+27-2167)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 22-ea+27-2167, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-aarch64)
      # Core dump will be written. Default location: core.95350
      #
      # An error report file with more information is saved as:
      # /System/Volumes/Data/mesos/work_dir/slaves/0db9c48f-6638-40d0-9a4b-bd9cc7533eb8-S31692/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/a7a8dd0f-ada8-4afb-a0bd-f8550fe5d094/runs/3f0191e0-6dc9-4335-8737-c8bc172f414a/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1_runtime/scratch/0/hs_err_pid95350.log
      [0.199s][warning][os] Loading hsdis library failed
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      ----------System.err:(0/0)----------
      ----------rerun:(41/6894)*----------

      Here's the crashing thread's stack:

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

      Current thread (0x000000012f010610): JavaThread "ForkJoinPool-1-worker-1" daemon [_thread_in_vm, id=28419, stack(0x000000016f638000,0x000000016f83b000) (2060K)]

      Stack: [0x000000016f638000,0x000000016f83b000], sp=0x000000016f8395e0, free space=2053k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x1121b64] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x564 (frame.cpp:405)
      V [libjvm.dylib+0x1122384] VMError::report_and_die(Thread*, unsigned int, unsigned char*, void*, void*)+0x0
      V [libjvm.dylib+0x5598f0] print_error_for_unit_test(char const*, char const*, char*)+0x0
      V [libjvm.dylib+0x663090] frame::interpreter_frame_method() const+0xb4
      V [libjvm.dylib+0xbafb5c] JvmtiExport::post_field_access_by_jni(JavaThread*, oop, Klass*, _jfieldID*, bool)+0x244
      V [libjvm.dylib+0xbaf85c] JvmtiExport::jni_GetField_probe(JavaThread*, _jobject*, oop, Klass*, _jfieldID*, bool)+0xa8
      V [libjvm.dylib+0x968114] jni_GetBooleanField+0x264
      v ~BufferBlob::jni_fast_GetBooleanField 0x0000000115ab5760
      V [libjvm.dylib+0x9ce7ac] unsigned char const static_fast_get_field_wrapper<4, unsigned char const>(JNIEnv_*, _jobject*, _jfieldID*)+0xb8
      C [libFastGetField.dylib+0x3a34] Java_FastGetField_accessFields+0x30
      J 142 FastGetField.accessFields(LFastGetField$MyItem;)J (0 bytes) @ 0x00000001160378f4 [0x0000000116037840+0x00000000000000b4]
      J 145 c2 FastGetField.accessFields()J (21 bytes) @ 0x0000000116037cb0 [0x0000000116037c40+0x0000000000000070]
      j FastGetField.TestFieldAccess()V+148
      j FastGetField.main([Ljava/lang/String;)V+33
      j java.lang.invoke.LambdaForm$DMH+0x00007ff001003800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@22-ea
      j java.lang.invoke.LambdaForm$MH+0x00007ff001004c00.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@22-ea
      j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@22-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@22-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@22-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@22-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@22-ea
      j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@22-ea
      j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@22-ea
      j jdk.internal.vm.Continuation.enter0()V+4 java.base@22-ea
      j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@22-ea
      J 123 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-ea (0 bytes) @ 0x0000000116036258 [0x0000000116036140+0x0000000000000118]
      j jdk.internal.vm.Continuation.run()V+122 java.base@22-ea
      j java.lang.VirtualThread.runContinuation()V+70 java.base@22-ea
      j java.lang.VirtualThread$$Lambda+0x00007ff00104d2b8.run()V+4 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@22-ea
      j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@22-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@22-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+271 java.base@22-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+68 java.base@22-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-ea
      v ~StubRoutines::call_stub 0x0000000115a98190
      V [libjvm.dylib+0x87bf44] JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*)+0x420
      V [libjvm.dylib+0x87ac54] JavaCalls::call_virtual(JavaValue*, Klass*, Symbol*, Symbol*, JavaCallArguments*, JavaThread*)+0x210
      V [libjvm.dylib+0x87ae34] JavaCalls::call_virtual(JavaValue*, Handle, Klass*, Symbol*, Symbol*, JavaThread*)+0x6c
      V [libjvm.dylib+0xa01884] thread_entry(JavaThread*, JavaThread*)+0x12c
      V [libjvm.dylib+0x8b17e0] JavaThread::thread_main_inner()+0x1dc
      V [libjvm.dylib+0x1068098] Thread::call_run()+0xf4
      V [libjvm.dylib+0xe2aa48] thread_native_entry(Thread*)+0x138
      C [libsystem_pthread.dylib+0x706c] _pthread_start+0x94
      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      J 142 FastGetField.accessFields(LFastGetField$MyItem;)J (0 bytes) @ 0x00000001160378f4 [0x0000000116037840+0x00000000000000b4]
      J 145 c2 FastGetField.accessFields()J (21 bytes) @ 0x0000000116037cb0 [0x0000000116037c40+0x0000000000000070]
      j FastGetField.TestFieldAccess()V+148
      j FastGetField.main([Ljava/lang/String;)V+33
      j java.lang.invoke.LambdaForm$DMH+0x00007ff001003800.invokeStatic(Ljava/lang/Object;Ljava/lang/Object;)V+10 java.base@22-ea
      j java.lang.invoke.LambdaForm$MH+0x00007ff001004c00.invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+33 java.base@22-ea
      j java.lang.invoke.Invokers$Holder.invokeExact_MT(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;+20 java.base@22-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+55 java.base@22-ea
      j jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+23 java.base@22-ea
      j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+102 java.base@22-ea
      j com.sun.javatest.regtest.agent.MainWrapper$MainTask.run()V+134
      j java.lang.Thread.runWith(Ljava/lang/Object;Ljava/lang/Runnable;)V+5 java.base@22-ea
      j java.lang.VirtualThread.run(Ljava/lang/Runnable;)V+66 java.base@22-ea
      j java.lang.VirtualThread$VThreadContinuation$1.run()V+8 java.base@22-ea
      j jdk.internal.vm.Continuation.enter0()V+4 java.base@22-ea
      j jdk.internal.vm.Continuation.enter(Ljdk/internal/vm/Continuation;Z)V+1 java.base@22-ea
      J 123 jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V java.base@22-ea (0 bytes) @ 0x0000000116036258 [0x0000000116036140+0x0000000000000118]
      j jdk.internal.vm.Continuation.run()V+122 java.base@22-ea
      j java.lang.VirtualThread.runContinuation()V+70 java.base@22-ea
      j java.lang.VirtualThread$$Lambda+0x00007ff00104d2b8.run()V+4 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Void;+4 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute()Ljava/lang/Object;+1 java.base@22-ea
      j java.util.concurrent.ForkJoinTask$InterruptibleTask.exec()Z+51 java.base@22-ea
      j java.util.concurrent.ForkJoinTask.doExec()V+10 java.base@22-ea
      j java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinPool$WorkQueue;I)V+49 java.base@22-ea
      j java.util.concurrent.ForkJoinPool.scan(Ljava/util/concurrent/ForkJoinPool$WorkQueue;JI)J+271 java.base@22-ea
      j java.util.concurrent.ForkJoinPool.runWorker(Ljava/util/concurrent/ForkJoinPool$WorkQueue;)V+68 java.base@22-ea
      j java.util.concurrent.ForkJoinWorkerThread.run()V+31 java.base@22-ea
      v ~StubRoutines::call_stub 0x0000000115a98190
      --------------------------------------------------------------------------------
      Decoding CodeBlob, name: jni_fast_GetBooleanField, at [0x0000000115ab5700, 0x0000000115ab57f0] 240 bytes
      [MachCode]
        0x0000000115ab5700: c61a f8f0 | c420 49b9 | 0402 0037 | bf39 03d5 | a71a f8b0 | e748 40b9 | 8701 0035 | e303 01aa
        0x0000000115ab5720: 63f4 7e92 | 6300 40f9 | 45fc 42d3 | 6700 058b | e7fc df08 | c820 49b9 | 9f00 086b | 6100 0054
        0x0000000115ab5740: e003 07aa | c003 5fd6 | fd7b bfa9 | fd03 0091 | 08d6 97d2 | 48a2 a0f2 | 2800 c0f2 | 0001 3fd6
        0x0000000115ab5760: bf03 0091 | fd7b c1a8 | c003 5fd6 | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc
        0x0000000115ab5780: cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc
        0x0000000115ab57a0: cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc
        0x0000000115ab57c0: cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc | cccc cccc
        0x0000000115ab57e0: cccc cccc | cccc cccc | cccc cccc | cccc cccc
      [/MachCode]
      --------------------------------------------------------------------------------

      So far this test failure has been seen on macosx-aarch64, windows-x64,
      linux-aarch64 and linux-x64.

            sspitsyn Serguei Spitsyn
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: