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

JSR 292: JRuby test/test_respond_to.rb fails with: illegal bytecode sequence - method not verified

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • 7
    • hs20
    • hotspot
    • generic
    • generic

      This happens on solaris-i586, but not on every box. I guess it's related to the number of cores. The assert does not always trigger but pretty often.

      ct232829@intelsdv32:/export/home/twisti/jruby$ bin/jruby.indy -J-XX:+ShowMessageBoxOnError -J-XX:+UseSerialGC test/test_respond_to.rb
      gamma is /export/home/twisti/hotspot-comp/6829194/build/solaris_i486_compiler2/fastdebug/gamma
      java version "1.7.0-ea-fastdebug"
      Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b111)
      OpenJDK Server VM (build 20.0-b01-internal-fastdebug, mixed mode)
      OpenJDK Server VM (20.0-b01-internal-fastdebug) for solaris-x86 JRE (1.7.0), built on Oct 7 2010 07:35:51 by "ct232829" with Sun Studio 12u1
      gamma -Djruby.memory.max=500m -Djruby.stack.max=1024k -Djruby.compile.invokedynamic=true -XX:+UnlockExperimentalVMOptions -XX:+EnableMethodHandles -XX:+EnableInvokeDynamic -Xmx500m -Xss1024k -Djffi.boot.library.path=./lib/native/sparc-SunOS:./lib/native/sparcv9-SunOS -XX:+ShowMessageBoxOnError -XX:+UseSerialGC -Xbootclasspath/a:./lib/jruby.jar -classpath ./lib/profile.jar: -Djruby.home=. -Djruby.lib=./lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main test/test_respond_to.rb
      VM option '+UnlockExperimentalVMOptions'
      VM option '+EnableMethodHandles'
      VM option '+EnableInvokeDynamic'
      VM option '+ShowMessageBoxOnError'
      VM option '+UseSerialGC'
      Loaded suite test/test_respond_to
      Started
      .==============================================================================
      illegal bytecode sequence - method not verified
      ------------------------------------------------------------------------------
      Execution stopped, print registers?
      ==============================================================================
      y
      eip = 0xf94027bb
      rax = 0xe04a4688
      rbx = 0x000000b0
      rcx = 0x0000007c
      rdx = 0x00000007
      rdi = 0xd13ebc8c
      rsi = 0xf608edf9
      rbp = 0xd13ebc70
      rsp = 0xd13ebc48


      (dbx) p ps()

      "Executing ps"
       for thread: "Thread-59" daemon prio=3 tid=0x084f1000 nid=0x45 runnable [0x00000000]
         java.lang.Thread.State: RUNNABLE
         JavaThread state: _thread_in_vm
      Thread: 0x084f1000 [0x45] State: _call_back _has_called_back 0 _at_poll_safepoint 0
         JavaThread state: _thread_in_vm

      (guessing starting frame id=d13eb88c based on current fp)
      C frame (sp=0xd13eb88c unextended sp=0xd13eb88c, fp=0xd13eb8b8, pc=0xd5070003)
      C frame (sp=0xd13eb8c0 unextended sp=0xd13eb8c0, fp=0xd13eb958, pc=0xfc722e55)
      C frame (sp=0xd13eb960 unextended sp=0xd13eb960, fp=0xd13eb9a8, pc=0xfe24bc2b)
      C frame (sp=0xd13eb9b0 unextended sp=0xd13eb9b0, fp=0xd13eb9e8, pc=0xfe6ff8cb)
      C frame (sp=0xd13eb9f0 unextended sp=0xd13eb9f0, fp=0xd13ebab8, pc=0xfe6fed7c)
      C frame (sp=0xd13ebac0 unextended sp=0xd13ebac0, fp=0xd13ebbd8, pc=0xfd50e194)
      C frame (sp=0xd13ebbe0 unextended sp=0xd13ebbe0, fp=0xd13ebc20, pc=0xfcf13e91)
       1 - frame( sp=0xd13ebc28, unextended_sp=0xd13ebc28, fp=0xd13ebc70, pc=0xf94027c1)
      ruby.jit.assert_equal_91A33138C04B05D60CDB4FDA6A3261A9A69FCAAC.block_0$RUBY$__block__(assertions.rb:83)
       2 - frame( sp=0xd13ebc78, unextended_sp=0xd13ebc7c, fp=0xd13ebcb0, pc=0xf94032d3)
      ruby.jit.assert_equal_91A33138C04B05D60CDB4FDA6A3261A9A69FCAACBlockCallback$block_0$RUBY$__block__xx1.call
       3 - frame( sp=0xd13ebcb8, unextended_sp=0xd13ebcb8, fp=0xd13ebcec, pc=0xf94032d3)
      org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:115)
       4 - frame( sp=0xd13ebcf4, unextended_sp=0xd13ebd10, fp=0xd13ebd48, pc=0xf94032d3)
      org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:98)
       5 - frame( sp=0xd13ebd50, unextended_sp=0xd13ebd50, fp=0xd13ebd84, pc=0xf94032d3)
      org.jruby.runtime.CompiledBlock.yieldSpecific(CompiledBlock.java:78)
       6 - frame( sp=0xd13ebd8c, unextended_sp=0xd13ebd8c, fp=0xd13ebdbc, pc=0xf94032d3)
      org.jruby.runtime.Block.yieldSpecific(Block.java:99)
       7 - frame( sp=0xd13ebdc4, unextended_sp=0xd13ebdc4, fp=0xd13ebdec, pc=0xf94032d3)
      ruby.jit.assert_block_EF57D70B974CA0DA3620E4964BB63142FE051D7B.block_0$RUBY$__block__(assertions.rb:47)
       8 - frame( sp=0xd13ebdf4, unextended_sp=0xd13ebdf8, fp=0xd13ebe2c, pc=0xf94032d3)
      ruby.jit.assert_block_EF57D70B974CA0DA3620E4964BB63142FE051D7BBlockCallback$block_0$RUBY$__block__xx1.call
       9 - frame( sp=0xd13ebe34, unextended_sp=0xd13ebe34, fp=0xd13ebe68, pc=0xf94032d3)
      org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:115)
      10 - frame( sp=0xd13ebe70, unextended_sp=0xd13ebe8c, fp=0xd13ebec4, pc=0xf94032d3)
      org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:98)
      <snip>

      (dbx) p findpc(0xf94027c1)

      "Executing findpc"
      error exits [0xf94027a0, 0xf94027e0] 64 bytes
      findpc(0xf94027c1U) = (void)
      (dbx) p findpc(0xf94032d3)

      "Executing findpc"
      return entry points [0xf9402800, 0xf94044a0] 7328 bytes
      findpc(0xf94032d3U) = (void)

            twisti Christian Thalinger (Inactive)
            twisti Christian Thalinger (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: