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

ciTypeFlow::profiled_count fails "assert(0 <= i && i < _len) failed: illegal index"

XMLWordPrintable

    • b08
    • 19
    • b16

      The loom repo has picked up an issue after sync'ing up with jdk-19+8.

      A few tests are hitting an assert in ciTypeFlow::profiled_count when the test is run in a virtual thread. So far the failures are with

      java/foreign/TestSegmentCopy.java
      java/text/Format/DateFormat/SimpleDateFormatPatternTest.java

      In both cases the compile task is org.testng.internal.Invoker::invokeTestMethods, don't know if this coincidence but maybe it will help. jtreg uses TestNG 6.9.5 at this time.


      The error log in all cases looks like:

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/ws/loom/open/src/hotspot/share/utilities/growableArray.hpp:145), pid=6561, tid=34311
      # assert(0 <= i && i < _len) failed: illegal index
      #
      # JRE version: Java(TM) SE Runtime Environment (19.0) (fastdebug build 19-internal+0-2022-02-03-1408050.USER...)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 19-internal+0-2022-02-03-1408050. USER..., mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
      # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      #
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp
      #

      Current CompileTask:
      C2: 4271 1957 % ! 4 org.testng.internal.Invoker::invokeTestMethods @ 612 (1101 bytes)

      Stack: [0x000070000db36000,0x000070000dc36000], sp=0x000070000dc335c0, free space=1013k
      Thread 0x00007facee03cc10 [34311]
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x12feac9] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6e9
      V [libjvm.dylib+0x12ff14b] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x3b
      V [libjvm.dylib+0x70428d] report_vm_error(char const*, int, char const*, char const*, ...)+0xdd
      V [libjvm.dylib+0x594afe] ciTypeFlow::profiled_count(ciTypeFlow::Loop*)+0x51e
      V [libjvm.dylib+0x594d63] ciTypeFlow::Loop::at_insertion_point(ciTypeFlow::Loop*, ciTypeFlow::Loop*)+0x133
      V [libjvm.dylib+0x595227] ciTypeFlow::build_loop_tree(ciTypeFlow::Block*)+0x307
      V [libjvm.dylib+0x595c3e] ciTypeFlow::df_flow_types(ciTypeFlow::Block*, bool, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x4de
      V [libjvm.dylib+0x595f60] ciTypeFlow::flow_types()+0x1b0
      V [libjvm.dylib+0x596905] ciTypeFlow::do_flow()+0x95
      V [libjvm.dylib+0x55b6fb] ciMethod::get_osr_flow_analysis(int)+0x7b
      V [libjvm.dylib+0x1027980] Parse::Parse(JVMState*, ciMethod*, float)+0x660
      V [libjvm.dylib+0x4efc7a] ParseGenerator::generate(JVMState*)+0xaa
      V [libjvm.dylib+0x604e12] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1352
      V [libjvm.dylib+0x4edda7] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x167
      V [libjvm.dylib+0x622d19] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x779
      V [libjvm.dylib+0x622388] CompileBroker::compiler_thread_loop()+0x298
      V [libjvm.dylib+0x12498b4] JavaThread::thread_main_inner()+0x254
      V [libjvm.dylib+0x1246287] Thread::call_run()+0x177
      V [libjvm.dylib+0xff4cc0] thread_native_entry(Thread*)+0x150
      C [libsystem_pthread.dylib+0x6109] _pthread_start+0x94



            rbackman Rickard Backman (Inactive)
            alanb Alan Bateman
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: