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

Modified runtime/InvocationTests/invokevirtualTests.java fail with new Vtable-based CHA




      This reproduces when JDK-8272970 is applied, which probably shakes out a different dependency graph than before. (EDIT: Oh wait, I probably misjudged this. That test is problemlisted by JDK-8271126, but the JDK-8272970 had a new name for the test config. The problemlist line mentions a confidential JDK-8271125, which I cannot see, so I am keeping this bug open in case this is caused by something else.).

      This is the hunk from JDK-8272970 that needs to be applied:

      This does not reproduce if I add -XX:-UseVtableBasedCHA to the test configuration, so it is likely a regression from JDK-8266074.

      $ CONF=linux-x86_64-server-fastdebug make run-test TEST=runtime/InvocationTests/invokevirtualTests.java

       stdout: [INFO: Class file version: major: 62; minor: 0
             Method access modifiers Call site location Status
        # A.m() B.m() C.m() A pkgA B pkgB C pkgC
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/dependencies.cpp:1883
      # A fatal error has been detected by the Java Runtime Environment:
      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/code/dependencies.cpp:1883), pid=3425343, tid=3425357
      # assert(Dependencies::is_concrete_root_method(fm, ctxk) == Dependencies::is_concrete_method(m, ctxk)) failed: mismatch

      Current thread (0x00007ff340238ba0): JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=3425357, stack(0x00007ff3135fe000,0x00007ff3136ff000)]

      Current CompileTask:
      C2: 37554 13816 b 4 A::call (5 bytes)

      Stack: [0x00007ff3135fe000,0x00007ff3136ff000], sp=0x00007ff3136fb5e0, free space=1013k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xad8e6f] Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass**)+0x13f
      V [libjvm.so+0xad94dd] Dependencies::find_unique_concrete_method(InstanceKlass*, Method*, Klass*, Method*)+0x24d
      V [libjvm.so+0x90425b] ciMethod::find_monomorphic_target(ciInstanceKlass*, ciInstanceKlass*, ciInstanceKlass*, bool)+0x1db
      V [libjvm.so+0xb689ae] Compile::optimize_inlining(ciMethod*, ciInstanceKlass*, ciKlass*, ciMethod*, TypeOopPtr const*, bool) [clone .part.0]+0x17e
      V [libjvm.so+0xb6975f] Compile::optimize_virtual_call(ciMethod*, ciInstanceKlass*, ciKlass*, ciMethod*, TypeOopPtr const*, bool, bool&, int&, bool)+0xef
      V [libjvm.so+0xb716db] Parse::do_call()+0xf0b
      V [libjvm.so+0x15a8a2f] Parse::do_one_bytecode()+0x11ff
      V [libjvm.so+0x1595719] Parse::do_one_block()+0x619
      V [libjvm.so+0x1596647] Parse::do_all_blocks()+0x127
      V [libjvm.so+0x159b64a] Parse::Parse(JVMState*, ciMethod*, float)+0xb8a


        Issue Links



              jcm Jamsheed C M (Inactive)
              shade Aleksey Shipilev
              0 Vote for this issue
              3 Start watching this issue