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

assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: hs25
    • Fix Version/s: hs25
    • Component/s: hotspot
    • Environment:

      jdk: Java(TM) SE Runtime Environment 1.8.0 b89 (1.8.0-ea-fastdebug-b89)
      vm: Java HotSpot(TM) Server VM 25.0 b33 (25.0-b33-internal-201305171601.amurillo.hs25-b33-snapshot-fastdebug)

    • Subcomponent:
    • Resolved In Build:
      b38
    • Verification:
      Not verified

      Backports

        Description

        during PIT of hs25-b33 for jdk8-b91 vm/mlvm/meth/stress/jdi/breakpointInCompiledCode trigger assert:

        ;; Using jvm: "/export/local/aurora/sandbox/sca/vmsqe/jdk/pit/2013-05-17-160126.amurillo.hs25-b33-snapshot/fastdebug/linux-i586/jre/lib/i386/server/libjvm.so"
        #
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # Internal Error (/opt/jprt/T/P1/160126.amurillo/s/src/share/vm/opto/node.cpp:71), pid=26937, tid=2972064624
        # assert(Compile::current()->live_nodes() < (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0-b89) (build 1.8.0-ea-fastdebug-b89)
        # Java VM: Java HotSpot(TM) Server VM (25.0-b33-internal-201305171601.amurillo.hs25-b33-snapshot-fastdebug mixed mode linux-x86 )
        # Failed to write core dump. 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:
        # http://bugreport.sun.com/bugreport/crash.jsp
        #

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

        Current thread (0x096b1c00): JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=26956, stack(0xb11e1000,0xb1262000)]

        Stack: [0xb11e1000,0xb1262000], sp=0xb125f3c0, free space=504k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0xc32b1e] VMError::report_and_die()+0x1ae;; VMError::report_and_die()+0x1ae
        V [libjvm.so+0x5790a8] report_vm_error(char const*, int, char const*, char const*)+0x68;; report_vm_error(char const*, int, char const*, char const*)+0x68
        V [libjvm.so+0x9f435c] Node::verify_construction()+0x17c;; Node::verify_construction()+0x17c
        V [libjvm.so+0x9fb28b] Node::clone() const+0x21b;; Node::clone() const+0x21b
        V [libjvm.so+0x96d1d4] Matcher::xform(Node*, int)+0x584;; Matcher::xform(Node*, int)+0x584
        V [libjvm.so+0x96e6d7] Matcher::match()+0xc07;; Matcher::match()+0xc07
        V [libjvm.so+0x507e00] Compile::Code_Gen()+0x140;; Compile::Code_Gen()+0x140
        V [libjvm.so+0x50c908] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x1608;; Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool)+0x1608
        V [libjvm.so+0x4078a3] C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x2e3;; C2Compiler::compile_method(ciEnv*, ciMethod*, int)+0x2e3
        V [libjvm.so+0x515c6b] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa6b;; CompileBroker::invoke_compiler_on_method(CompileTask*)+0xa6b
        V [libjvm.so+0x516c65] CompileBroker::compiler_thread_loop()+0x805;; CompileBroker::compiler_thread_loop()+0x805
        V [libjvm.so+0xbbb21f] compiler_thread_entry(JavaThread*, Thread*)+0x4f;; compiler_thread_entry(JavaThread*, Thread*)+0x4f
        V [libjvm.so+0xbcaec9] JavaThread::thread_main_inner()+0x1b9;; JavaThread::thread_main_inner()+0x1b9
        V [libjvm.so+0xbcb1be] JavaThread::run()+0x24e;; JavaThread::run()+0x24e
        V [libjvm.so+0xa2c9d9] java_start(Thread*)+0x119;; java_start(Thread*)+0x119
        C [libpthread.so.0+0x5e72] start_thread+0xd2

          Issue Links

            Activity

            Hide
            drchase David Chase (Inactive) added a comment -
            I recommend a change to the test. It appears that the number of steps required is about 22 times the methodhandle wrapping depth. Therefore, if the number of steps is 9000, then the wrapping depth (in MHTransformationGen) should not exceed 400. Right now, it is random between 0 and 999 (random nextInt(1000)). I think it might make more sense for this to be something like 250 + nextInt(100).

            There are also fixes to the compiler to avoid the crash, but even without crashes the test will spuriously fail unless the wrapping depth is limited or the number of steps are increased to about 25000. More steps probably requires more timeout.

            There's a third problem, which is whether the compiler is making appropriate choices about recompilation in the presence of debugging operations.
            Show
            drchase David Chase (Inactive) added a comment - I recommend a change to the test. It appears that the number of steps required is about 22 times the methodhandle wrapping depth. Therefore, if the number of steps is 9000, then the wrapping depth (in MHTransformationGen) should not exceed 400. Right now, it is random between 0 and 999 (random nextInt(1000)). I think it might make more sense for this to be something like 250 + nextInt(100). There are also fixes to the compiler to avoid the crash, but even without crashes the test will spuriously fail unless the wrapping depth is limited or the number of steps are increased to about 25000. More steps probably requires more timeout. There's a third problem, which is whether the compiler is making appropriate choices about recompilation in the presence of debugging operations.
            Hide
            kvn Vladimir Kozlov added a comment -
            Show
            kvn Vladimir Kozlov added a comment - David copy this suggestion to https://jbs.oracle.com/bugs/browse/INTJDK-7604173
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/693e4d04fd09
            User: kvn
            Date: 2013-06-12 03:16:02 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/693e4d04fd09 User: kvn Date: 2013-06-12 03:16:02 +0000
            Hide
            hgupdate HG Updates added a comment -
            URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/693e4d04fd09
            User: amurillo
            Date: 2013-06-21 11:35:50 +0000
            Show
            hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/693e4d04fd09 User: amurillo Date: 2013-06-21 11:35:50 +0000
            Hide
            vmissing Vitaly Missing (Inactive) added a comment -
            RULE vm/mlvm/meth/stress/jdi/breakpointInCompiledCode Crash Internal Error ...node.cpp...assert..
            Show
            vmissing Vitaly Missing (Inactive) added a comment - RULE vm/mlvm/meth/stress/jdi/breakpointInCompiledCode Crash Internal Error ...node.cpp...assert..

              People

              • Assignee:
                drchase David Chase (Inactive)
                Reporter:
                iignatyev Igor Ignatyev
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: