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

1.4.2_04 SIGBUS in PhaseIdealLoop::split_thru_region

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P2 P2
    • None
    • 1.4.2_04
    • hotspot
    • None
    • sparc
    • solaris_9

      Crash of 1.4.2_04 on Solaris 9 4/04 running with -server -Xmx1000m -Xms1000m
      It failed with SIGBUS while running in PhaseIdealLoop::split_thru_region

      (dbx) where -h -l current thread: t@8
      =>[1] libc.so.1:__lwp_kill(0x0, 0x6, 0x0, 0xff33c000, 0x0, 0x0), at 0xff31f82c
       [2] libc.so.1:raise(0x6, 0x0, 0xb70fd360, 0x0, 0x23, 0xff00), at 0xff2d0a1c
       [3] libc.so.1:abort(0x0, 0xb70fd3f0, 0x0, 0xfffffff8, 0x0, 0xb70fd419), at 0xff2b6cd8
       [4] libjvm.so:os::abort(0x1, 0xff153722, 0xb70fd4a0, 0xff170000, 0xff1b78bc, 0x3db2e4), at 0xff098498
       [5] libjvm.so:os::handle_unexpected_exception(0xea4e0, 0xa, 0xfede7558, 0xb70fe208, 0xfedd87d8, 0x0), at 0xff0967ac
       [6] libjvm.so:JVM_handle_solaris_signal(0xfede7558, 0xb70fe208, 0xb70fdf50, 0x3400, 0x35ec, 0x0), at 0xfedd90ac
       [7] libthread.so.1:__sighndlr(0xa, 0xb70fe208, 0xb70fdf50, 0xfedd875c, 0x0, 0x0), at 0xff385bac
       [8] libthread.so.1:call_user_handler(0xa, 0xb70fe208, 0xb70fdf50, 0x0, 0x0, 0x0), at 0xff37f804
       [9] libthread.so.1:sigacthandler(0xa, 0xb70fe208, 0xb70fdf50, 0x20, 0x0, 0x0), at 0xff37f9b4
       ---- called from signal handler with signal 10 (SIGBUS) ------
       [10] libjvm.so:PhaseIdealLoop::split_thru_region(0x1ea86c, 0x3522f0, 0x4f1b10, 0xb70feef0, 0x4, 0xc), at 0xfede7558
       [11] libjvm.so:PhaseIdealLoop::do_split_if(0xb70feee0, 0x23ff84, 0xb70feb30, 0x1, 0x345848, 0x339411), at 0xfee20040
       [12] libjvm.so:PhaseIdealLoop::split_if_with_blocks(0xb70feee0, 0x4f1b10, 0xb70feb30, 0x0, 0x20e948, 0xffcb1b54), at 0xfeccf590
       [13] libjvm.so:PhaseIdealLoop::split_if_with_blocks(0xb70feee0, 0x3e034c, 0xb70feb30, 0xaea48, 0x2, 0x4580c8), at 0xfeccf568
       [14] libjvm.so:PhaseIdealLoop::split_if_with_blocks(0xb70feee0, 0x4f3a78, 0xb70feb30, 0xc, 0x4, 0x0), at 0xfeccf568
       [15] libjvm.so:PhaseIdealLoop::split_if_with_blocks(0xb70feee0, 0x4f3368, 0xb70feb30, 0x14, 0x4, 0x4), at 0xfeccf568
      ...
       [30] libjvm.so:PhaseIdealLoop::split_if_with_blocks(0xb70feee0, 0x185480, 0xb70feb30, 0x1, 0x0, 0x339409), at 0xfeccf568
       [31] libjvm.so:PhaseIdealLoop::PhaseIdealLoop(0xff1bbbe4, 0x0, 0xb70fef24, 0x1, 0x3f68, 0x1), at 0xfedc080c
       [32] libjvm.so:Compile::Optimize(0xb70ff500, 0xff1335c4, 0xb70ff414, 0xff170000, 0x0, 0x0), at 0xfee0211c
       [33] libjvm.so:Compile::Compile(0xff1333f9, 0x1854bc, 0x25245c, 0x3b601c, 0xffffffff, 0x1), at 0xfee008b4
       [34] libjvm.so:C2Compiler::compile_method(0x2b858, 0xb70ffd1c, 0x0, 0x37d448, 0xffffffff, 0x0), at 0xfedfd08c
       [35] libjvm.so:CompileBroker::invoke_compiler_on_method(0xaf, 0x0, 0xffffffff, 0xff1aee50, 0xff1bbbe4, 0xea4e0), at 0xfedfc850
       [36] libjvm.so:CompileBroker::compiler_thread_loop(0xff133c01, 0xff1af218, 0xea4e0, 0xeb298, 0x306d10, 0xfee69254), at 0xfeeac1f8
       [37] libjvm.so:JavaThread::run(0xea4e0, 0x8, 0x40, 0x0, 0x40, 0x0), at 0xfee6927c
       [38] libjvm.so:_start(0xea4e0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfee6575c


      dbx) j142GetC2methNClass (see also doc 76457)
      0xfedfd08c: compile_method+0x0064: call Compile ! 0xfedffd08
      Class: com/jclark/xsl/expr/ExprTokenizer
      Method: next

      It is quite interesting also this thread

      t@9 (l@9) stopped in PhaseChaitin::fixup_spills at 0xfedd9e70
      0xfedd9e70: fixup_spills+0x00a0: ba fixup_spills+0xb0 ! 0xfedd9e80
      current thread: t@9
      =>[1] libjvm.so:PhaseChaitin::fixup_spills(0xb6e7eeb4, 0x5, 0x2edd18, 0x4316a8, 0x2ee178, 0x120), at 0xfedd9e70
      [2] libjvm.so:PhaseChaitin::Register_Allocate(0xff1b8ae8, 0xff1bbbe4, 0xff1b0bf4, 0xb6e7ed2c, 0x4800, 0x4ac8), at 0xfedca3cc
      [3] libjvm.so:Compile::Code_Gen(0xb6e7f500, 0xff1335c4, 0xb6e7f414, 0xff170000, 0x0, 0x0), at 0xfedd2d0c
      [4] libjvm.so:Compile::Compile(0xff1333f9, 0x14164c, 0x3a017c, 0x98814, 0xffffffff, 0x1), at 0xfee008e8
      [5] libjvm.so:C2Compiler::compile_method(0x2b858, 0xb6e7fd1c, 0x0, 0x3e48c8, 0xffffffff, 0x0), at 0xfedfd08c
      [6] libjvm.so:CompileBroker::invoke_compiler_on_method(0xac, 0x0, 0xffffffff, 0xff1aee50, 0xff1bbbe4, 0xebc88), at 0xfedfc850
      [7] libjvm.so:CompileBroker::compiler_thread_loop(0xff133c01, 0xff1af218, 0xebc88, 0xec238, 0x306d10, 0xfee69254), at 0xfeeac1f8
      [8] libjvm.so:JavaThread::run(0xebc88, 0x9, 0x40, 0x0, 0x40, 0x0), at 0xfee6927c
      [9] libjvm.so:_start(0xebc88, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfee6575c

      running compilation

      (dbx) j142GetC2methNClass (see also doc 76457)
      0xfedfd08c: compile_method+0x0064: call Compile ! 0xfedffd08
      Class: com/jclark/xsl/expr/ExprTokenizer
      Method: scanName

      extracting the class from the core (with SA tool) and decompiling you could notice the relationship b/w the 2 methods: in method next(), there is a call to scanName().

            chrisphi Chris Phillips
            cmassi Claudio Massi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: