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

assert(is_reference(type)) failed: must be reference type

    XMLWordPrintable

Details

    Description

      The following tests fail when testing the working patch for JDK-6824466 in -Xcomp:
         https://github.com/mlchung/jdk/tree/method-invoke-4

      The fix for JDK-6824466 replaces the core reflection implementation to use method handles which can stress JIT compilation of method handles much more and shake out any issue.

      test/jdk/java/lang/invoke/MethodHandlesGeneralTest.java
      test/jdk/java/lang/reflect/Field/TestFieldReflectValueOf.java

      Running with these VM flags (tier8-comp):

      -Xcomp -XX:+CreateCoredumpOnCrash -ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation

      # assert(is_reference(type)) failed: must be reference type

      Current thread (0x00007fdce080be20): JavaThread "C2 CompilerThread0" daemon [_thread_in_native, id=23555, stack(0x00007000016c3000,0x00007000017c3000)]


      Current CompileTask:
      C2: 12490 3014 b jdk.internal.reflect.FieldAccessorImpl_S$$4/0x000000032f0c2800::setShort (10 bytes)

      Stack: [0x00007000016c3000,0x00007000017c3000], sp=0x00007000017c07a0, free space=1013k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x1214c6c] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x6dc
      V [libjvm.dylib+0x121527b] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x3b
      V [libjvm.dylib+0x61b6bd] report_vm_error(char const*, int, char const*, char const*, ...)+0xdd
      V [libjvm.dylib+0x54607d] ciTypeFlow::StateVector::load_local_object(int)+0x13d
      V [libjvm.dylib+0x544de0] ciTypeFlow::StateVector::apply_one_bytecode(ciBytecodeStream*)+0x750
      V [libjvm.dylib+0x541fc4] ciTypeFlow::flow_block(ciTypeFlow::Block*, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x374
      V [libjvm.dylib+0x54c38f] ciTypeFlow::df_flow_types(ciTypeFlow::Block*, bool, ciTypeFlow::StateVector*, ciTypeFlow::JsrSet*)+0x40f
      V [libjvm.dylib+0x54c770] ciTypeFlow::flow_types()+0x1b0
      V [libjvm.dylib+0x54d185] ciTypeFlow::do_flow()+0x95
      V [libjvm.dylib+0x510f0e] ciMethod::get_flow_analysis()+0x5e
      V [libjvm.dylib+0x398fad] InlineTree::check_can_parse(ciMethod*)+0x9d
      V [libjvm.dylib+0x4a7dd8] CallGenerator::for_inline(ciMethod*, float)+0x18
      V [libjvm.dylib+0x5bbf7a] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x11da
      V [libjvm.dylib+0x4a534b] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x10b
      V [libjvm.dylib+0x5d8f51] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x9b1
      V [libjvm.dylib+0x5d8382] CompileBroker::compiler_thread_loop()+0x322
      V [libjvm.dylib+0x116ea8c] JavaThread::thread_main_inner()+0x28c
      V [libjvm.dylib+0x116e7ad] JavaThread::run()+0x2ad
      V [libjvm.dylib+0x116b5b7] Thread::call_run()+0x177
      V [libjvm.dylib+0xe4f57f] thread_native_entry(Thread*)+0x15f
      C [libsystem_pthread.dylib+0x6109] _pthread_start+0x94
      C [libsystem_pthread.dylib+0x1b8b] thread_start+0xf

      Attachments

        Issue Links

          Activity

            People

              vlivanov Vladimir Ivanov
              mchung Mandy Chung
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: