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

Generic arraycopy stub overwrites callee-save rdi register on 64-bit Windows

    XMLWordPrintable

Details

    • b23
    • 15
    • b20
    • x86_64
    • windows
    • Verified

    Description

      The following test failed in the JDK16 CI:

      compiler/c1/6551887/Test.java

      Here's a snippet from the log file:

      ----------stdout:(18/1094)*----------
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=\\oops/compressedOops.inline.hpp:100
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (t:\\workspace\\open\\src\\hotspot\\share\\oops/compressedOops.inline.hpp:100), pid=747596, tid=814580
      # assert(!is_null(v)) failed: narrow klass value can never be zero
      #
      # JRE version: Java(TM) SE Runtime Environment (16.0+19) (fastdebug build 16-ea+19-971)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 16-ea+19-971, compiled mode, tiered, compressed oops, g1 gc, windows-amd64)
      # Core dump will be written. Default location: T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_tier2_compiler\\scratch\\0\\hs_err_pid747596.mdmp
      #
      # An error report file with more information is saved as:
      # T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_tier2_compiler\\scratch\\0\\hs_err_pid747596.log
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #
      result: Error. Agent communication error: java.net.SocketException: Connection reset; check console log for any additional details


      Here's the crashing thread's stack:

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

      Current thread (0x000001a5cddd8bb0): JavaThread "AgentVMThread" [_thread_in_vm, id=814580, stack(0x0000000101a00000,0x0000000101b00000)]

      Stack: [0x0000000101a00000,0x0000000101b00000]
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0xa53ea1] os::platform_print_native_stack+0xf1 (os_windows_x86.cpp:236)
      V [jvm.dll+0xc6e627] VMError::report+0xf97 (vmError.cpp:731)
      V [jvm.dll+0xc6ffee] VMError::report_and_die+0x7de (vmError.cpp:1547)
      V [jvm.dll+0xc706a4] VMError::report_and_die+0x64 (vmError.cpp:1340)
      V [jvm.dll+0x444c87] report_vm_error+0x117 (debug.cpp:267)
      V [jvm.dll+0x1a774] oopDesc::klass+0x44 (oop.inline.hpp:81)
      V [jvm.dll+0xb0df9d] SharedRuntime::slow_arraycopy_C+0x12d (sharedRuntime.cpp:1997)
      C 0x000001a5eeb436d5

      Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
      v ~RuntimeStub::_slow_arraycopy_Java
      J 7360% c2 Test.testGeneric(Ljava/lang/Object;ILjava/lang/Object;II)V (26 bytes) @ 0x000001a5f670ac3c [0x000001a5f670a7e0+0x000000000000045c]
      J 7357 c1 Test.main([Ljava/lang/String;)V (739 bytes) @ 0x000001a5f0655c84 [0x000001a5f0655680+0x0000000000000604]
      v ~StubRoutines::call_stub
      J 1527 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@16-ea (0 bytes) @ 0x000001a5f65548f3 [0x000001a5f6554820+0x00000000000000d3]
      J 1526 c2 jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@16-ea (117 bytes) @ 0x000001a5f654465c [0x000001a5f6544540+0x000000000000011c]
      J 1524 c2 jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; java.base@16-ea (10 bytes) @ 0x000001a5f6565274 [0x000001a5f65651e0+0x0000000000000094]
      J 7352 c1 com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run()V (170 bytes) @ 0x000001a5f0276adc [0x000001a5f0276100+0x00000000000009dc]
      J 6535 c1 java.lang.Thread.run()V java.base@16-ea (17 bytes) @ 0x000001a5f03d7f9c [0x000001a5f03d7e80+0x000000000000011c]
      v ~StubRoutines::call_stub

      --------------- P R O C E S S ---------------

      Here's the description for the test task:

      Run test closed/test/hotspot/jtreg/:tier2_compiler with windows-x64-debug with -Xcomp -XX:+CreateCoredumpOnCrash -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:+TieredCompilation -XX:+VerifyOops

      I'm starting this bug in hotspot/gc for initial triage.

      Attachments

        Issue Links

          Activity

            People

              thartmann Tobias Hartmann
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: