C2: Assertion failed in GrowableArray::remove_till(0)

XMLWordPrintable

      Every so often in CTW testing we reach through the path that calls GrowableArray::remove_till(0). From the method specification, it is supposed to work as no-op, since "till" is exclusive. Instead, the method asserts later:

      # Internal Error (/home/shade/trunks/jdk/src/hotspot/share/utilities/growableArray.hpp:498), pid=2972347, tid=2973775
      # assert(start < end && end <= this->_len) failed: erase called with invalid range (0, 0) for length 0

      Stack: [0x00007fd660bea000,0x00007fd660cea000], sp=0x00007fd660ce4fc0, free space=1003k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xc00a41] Compile::inline_incrementally_one()+0x801 (growableArray.hpp:498)
      V [libjvm.so+0xc01650] Compile::inline_incrementally(PhaseIterGVN&)+0x2f0 (compile.cpp:2212)
      V [libjvm.so+0xc04581] Compile::Optimize()+0x7d1 (compile.cpp:2357)
      V [libjvm.so+0xc07c03] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x2003 (compile.cpp:862)
      V [libjvm.so+0xa2e891] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x471 (c2compiler.cpp:147)
      V [libjvm.so+0xc1791a] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbea (compileBroker.cpp:2345)
      V [libjvm.so+0xc18940] CompileBroker::compiler_thread_loop()+0x520 (compileBroker.cpp:1989)
      V [libjvm.so+0x1177fcf] JavaThread::thread_main_inner()+0x12f (javaThread.cpp:776)
      V [libjvm.so+0x1db23ba] Thread::call_run()+0xba (thread.cpp:242)
      V [libjvm.so+0x1844a08] thread_native_entry(Thread*)+0x118 (os_linux.cpp:860)
      C [libc.so.6+0x9caa4]

      Looks like GrowableArray::remove_range is innocious to call with (0,0), as we would never actually modify the list. Therefore it looks like the lucky assert-only problem at this point.

            Assignee:
            Aleksey Shipilev
            Reporter:
            Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: