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

1.4.2_05 crash in hotspot -server compiler PhaseIdealLoop::build_loop_late

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 1.4.2_05
    • hotspot
    • generic
    • solaris_8


      1.4.2_05 crash in hotspot -server compiler

      During compilation of method "oracle.sql.NUMBER::toBytes"

      Problem also happens with -Xverify:all -XX:-Inline

      Problem does not happen with -client

      Problem exists in 1.4.2 fcs, 1.4.2__05 and 1.5 beta2.
      1.3.1 does not crash.


      Production stacktrace:


      =>[1] libthread.so.1:__sigprocmask(0x0, 0xe90ff660, 0x0, 0x0, 0x0, 0x0), at 0xff379764
        [2] libthread.so.1:_resetsig(0xff37bf60, 0x0, 0x0, 0xe9101d70, 0xff38e000, 0x0), at 0xff36e970
        [3] libthread.so.1:_sigon(0xe9101d70, 0xff395930, 0x6, 0xe90ff734, 0xe9101d70, 0x6), at 0xff36e110
        [4] libthread.so.1:_thrp_kill(0x0, 0xb, 0x6, 0xff38e000, 0xb, 0xff340448), at 0xff371150
        [5] libc.so.1:raise(0x6, 0x0, 0x0, 0xffffffff, 0xff3403b4, 0x4), at 0xff2cb9d4
        [6] libc.so.1:abort(0xff33c004, 0xe90ff888, 0x0, 0xfffffff8, 0x4, 0xe90ff8a9), at 0xff2b58f4
        [7] libjvm.so:os::abort(0x1, 0xfe5555aa, 0xe90ff938, 0xfe582000, 0xfe5c9944, 0x3ee894), at 0xfe499d98
        [8] libjvm.so:os::handle_unexpected_exception(0xf5568, 0xb, 0xfe0c980c, 0xe9100678, 0xb, 0x0), at 0xfe4980ac
        [9] libjvm.so:JVM_handle_solaris_signal(0xfe0c980c, 0xe9100678, 0xe91003c0, 0x3400, 0x3608, 0x0), at 0xfe1d7c6c
        [10] libthread.so.1:__sighndlr(0xb, 0xe9100678, 0xe91003c0, 0xfe1d731c, 0xe9101e14, 0xe9101e04), at 0xff37b824
        ---- called from signal handler with signal 11 (SIGSEGV) ------
        [11] libjvm.so:PhaseIdealLoop::build_loop_late(0xe910093c, 0xe9100890, 0xe9100890, 0xe9100880, 0x0, 0xed3070), at 0xfe0c980c
        [12] libjvm.so:PhaseIdealLoop::build_loop_late(0xe910093c, 0xe9100890, 0xe9100890, 0xe9100880, 0x0, 0x1200430), at 0xfe0c93b0
        [13] libjvm.so:PhaseIdealLoop::build_loop_late(0xe910093c, 0xe9100890, 0xe9100890, 0xe9100880, 0x0, 0x17aca38), at 0xfe0c93b0
        [14] libjvm.so:PhaseIdealLoop::PhaseIdealLoop(0xfe5cdc6c, 0x0, 0xe9100984, 0x1, 0x1, 0x1), at 0xfe1bf34c
        [15] libjvm.so:Compile::Optimize(0xe9101270, 0xfe53526c, 0xe9101184, 0xfe582000, 0x0, 0x0), at 0xfe201248
        [16] libjvm.so:Compile::Compile(0xfe5350a1, 0x17e6ab4, 0x109a044, 0x165f708, 0xffffffff, 0x1), at 0xfe1ff65c
        [17] libjvm.so:C2Compiler::compile_method(0x359b0, 0xe9101a8c, 0x0, 0x5a59c0, 0xffffffff, 0x0), at 0xfe1fbe34
        [18] libjvm.so:CompileBroker::invoke_compiler_on_method(0x655, 0x0, 0xffffffff, 0xfe5c0e70, 0xfe5cdc6c, 0xf5568), at 0xfe1fb5f8
        [19] libjvm.so:CompileBroker::compiler_thread_loop(0xfe5358a9, 0xfe5c1238, 0xf5568, 0xf5b18, 0x31a08c, 0xfe267ed8), at 0xfe2aae80
        [20] libjvm.so:JavaThread::run(0xf5568, 0xc, 0x40, 0x0, 0xb, 0xff38e000), at 0xfe267f00
        [21] libjvm.so:_start(0xf5568, 0xff38f688, 0x1, 0x1, 0xff38e000, 0x0), at 0xfe2643e0




      Assertion in a java_g is:
      $ java_g -server -Xbatch -showversion -XX:+PrintCompilation -XX:+CompileTheWorld -Xbootclasspath/p:./oracle.jar -version
      .
      .
      .
       90 b oracle.sql.NUMBER::tanh (20 bytes)
       91 b oracle.sql.NUMBER::textToPrecisionNumber (24 bytes)
       92 b oracle.sql.NUMBER::toBigDecimal (460 bytes)
       93 b oracle.sql.NUMBER::toBigInteger (440 bytes)
       94 b oracle.sql.NUMBER::toByte (39 bytes)
       95 b oracle.sql.NUMBER::toBytes (10 bytes)
       96 b oracle.sql.NUMBER::toBytes (6 bytes)
       97 !b oracle.sql.NUMBER::toBytes (83 bytes)
       98 b oracle.sql.NUMBER::toBytes (1034 bytes)
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=/loopnode.hpp:487
      #
      # HotSpot Virtual Machine Error, assertion failure
      # Please report this error at
      # http://java.sun.com/cgi-bin/bugreport.cgi
      #
      # Java VM: Java HotSpot(TM) Server VM (1.4.2_05-b04-debug mixed mode)
      #
      # assert(n != 0, "Bad immediate dominator info.")
      #
      # Error ID: /export1/jdk142-update/ws/fcs/hotspot/src/share/vm/opto/loopnode.hpp, 487 [ Patched ]
      #
      # Problematic Thread: prio=5 tid=0x00135cc8 nid=0x8 runnable
      #

      Heap at VM Abort:
      Heap
       def new generation total 2112K, used 144K [0xf0c00000, 0xf0e20000, 0xf2150000)
        eden space 2048K, 7% used [0xf0c00000, 0xf0c24380, 0xf0e00000)
        from space 64K, 0% used [0xf0e00000, 0xf0e00000, 0xf0e10000)
        to space 64K, 0% used [0xf0e10000, 0xf0e10000, 0xf0e20000)
       tenured generation total 1408K, used 0K [0xf2150000, 0xf22b0000, 0xf4c00000)
         the space 1408K, 0% used [0xf2150000, 0xf2150000, 0xf2150200, 0xf22b0000)
       compacting perm gen total 16384K, used 1065K [0xf4c00000, 0xf5c00000, 0xf8c00000)
         the space 16384K, 6% used [0xf4c00000, 0xf4d0a410, 0xf4d0a600, 0xf5c00000)
      Dumping core....
      Abort(coredump)

      (Adding the option -XX:SuppressErrorAt=/loopnode.hpp:487 produces the same crash.)


      java_g stacktrace: (some line numbers many vary from "standard" java_g)

        [3] abort(0x0, 0xf0b7d818, 0x0, 0xfffffff8, 0x0, 0xf0b7d841), at 0xff2b6c70
      =>[4] os::abort(dump_core = 1), line 1319 in "os_solaris.cpp"
        [5] report_error(is_vm_internal_error = 1, file_name = 0xfee1fb84 "/space/kevinwa/ws/hotspot/src/share/vm/opto/loopnode.hpp", line_no = 450, title = 0xfed7fbbb "assertion failure", format = 0xfed7fbcd "assert(%s, "%s")", ...), line 456 in "debug.cpp"
        [6] report_assertion_failure(code_str = 0xfee1fb79 "d->_idx!=0", file_name = 0xfee1fb84 "/space/kevinwa/ws/hotspot/src/share/vm/opto/loopnode.hpp", line_no = 450, message = 0xfee1fbbd "index zero!"), line 237 in "debug.cpp"
        [7] PhaseIdealLoop::idom_no_update(this = 0xf0b7e74c, d = 0x12e9bc), line 450 in "loopnode.hpp"
        [8] PhaseIdealLoop::idom(this = 0xf0b7e74c, d = 0x12e9bc), line 463 in "loopnode.hpp"
        [9] PhaseIdealLoop::build_loop_late(this = 0xf0b7e74c, n = 0x1eb984, visited = CLASS, worklist = CLASS, verify_me = (nil)), line 2043 in "loopnode.cpp"
        [10] PhaseIdealLoop::build_loop_late(this = 0xf0b7e74c, n = 0x138db4, visited = CLASS, worklist = CLASS, verify_me = (nil)), line 1964 in "loopnode.cpp"
        [11] PhaseIdealLoop::build_loop_late(this = 0xf0b7e74c, n = 0x12e9bc, visited = CLASS, worklist = CLASS, verify_me = (nil)), line 1964 in "loopnode.cpp"
        [12] PhaseIdealLoop::PhaseIdealLoop(this = 0xf0b7e74c, igvn = CLASS, verify_me = (nil), do_split_ifs = 1), line 1120 in "loopnode.cpp"
        [13] Compile::Optimize(this = 0xf0b7f310), line 1364 in "compile.cpp"
        [14] Compile::Compile(this = 0xf0b7f310, ci_env = 0xf0b7fb6c, ci_scope = (nil), target = 0x15959c, osr_bci = -1, subsume_loads = 1, comp_level = 0), line 461 in "compile.cpp"
        [15] C2Compiler::compile_method(this = 0x121720, env = 0xf0b7fb6c, scope = (nil), target = 0x15959c, entry_bci = -1, comp_lev = 0), line 29 in "c2compiler.cpp"
        [16] CompileBroker::invoke_compiler_on_method(task = 0x12e018), line 1577 in "compileBroker.cpp"
        [17] CompileBroker::compiler_thread_loop(), line 1376 in "compileBroker.cpp"
        [18] compiler_thread_entry(thread = 0x126dc8, __the_thread__ = 0x126dc8), line 2422 in "thread.cpp"
        [19] JavaThread::thread_main_inner(this = 0x126dc8), line 1136 in "thread.cpp"
        [20] JavaThread::run(this = 0x126dc8), line 1120 in "thread.cpp"
        [21] _start(data = 0x126dc8), line 732 in "os_solaris.cpp"


      Standard 1.4.2_05 java_g core file is attached with showrev -p of source machine.

      To reproduce:
      ============
      Save the attached file oracle.jar created with the SA.

      Run:
      java_g -server -XX:+PrintCompilation -XX:+CompileTheWorld -Xbootclasspath/p:./oracle.jar -version



            rasbold Chuck Rasbold
            kevinw Kevin Walls
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: