JDK-6990301 : JSR 292: JRuby test/test_respond_to.rb fails with: illegal bytecode sequence - method not verified
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs20
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2010-10-07
  • Updated: 2012-02-01
  • Resolved: 2011-04-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7Resolved
Related Reports
Duplicate :  
Description
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)

Comments
EVALUATION Interpreter and serial GC hits it too (after some time): intelsdv01:/export/twisti/jruby$ while [ $? -eq 0 ]; do bin/jruby.sh -J-Xint --server -Xcompile.invokedynamic=true -J-showversion -J-XX:+ShowMessageBoxOnError -J-XX:-PrintVMOptions -J-XX:+UseSerialGC test/test_respond_to.rb; done ... java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b137) Java HotSpot(TM) Server VM (build 21.0-b08-internal-fastdebug, interpreted mode) Loaded suite test/test_respond_to Started .============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ==============================================================================
14-04-2011

EVALUATION As 7032070 is also happens with C1 and deoptimization disabled: intelsdv01:/export/twisti/jruby$ while [ $? -eq 0 ]; do bin/jruby.sh -J-XX:-DeoptC1 -J-XX:+TraceDeoptimization -Xcompile.invokedynamic=true -J-showversion -J-XX:+ShowMessageBoxOnError -J-XX:-PrintVMOptions -J-XX:+UseSerialGC test/test_respond_to.rb; done java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b137) Java HotSpot(TM) Client VM (build 21.0-b08-internal-jvmg, mixed mode) Loaded suite test/test_respond_to Started .============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ==============================================================================
12-04-2011

EVALUATION This one, as 7032070, also reproduces with client compiler: java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b137) Java HotSpot(TM) Client VM (build 21.0-b07-fastdebug, mixed mode) Loaded suite test/test_respond_to Started .============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ==============================================================================
12-04-2011

EVALUATION I just hit the bug with the interpreter using G1: intelsdv01:/export/twisti/jruby$ while [ $? -eq 0 ]; do bin/jruby.sh -J-Xint -J-XX:-UseC1Optimizations -J-XX:-DeoptC1 -J-XX:+TraceDeoptimization -Xcompile.invokedynamic=true -J-showversion -J-XX:+ShowMessageBoxOnError -J-XX:-PrintVMOptions -J-XX:+UseG1GC -J-verbosegc test/test_respond_to.rb; done java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b137) Java HotSpot(TM) Client VM (build 21.0-b08-internal-jvmg, interpreted mode) [GC pause (young) 4096K->2040K(16M), 0.0242857 secs] [GC pause (young) 6136K->3152K(16M), 0.0257621 secs] Loaded suite test/test_respond_to Started .[GC pause (young) 6224K->3784K(16M), 0.0613080 secs] [GC pause (young) 6856K->4423K(16M), 0.0538598 secs] [GC pause (young) 7495K->5083K(16M), 0.0912145 secs] [GC pause (young) 10203K->5916K(16M), 0.0887108 secs] [GC pause (young) 8988K->6445K(16M), 0.1120959 secs] [GC pause (young) 10M->7051K(16M), 0.0626120 secs] ============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ==============================================================================
12-04-2011

EVALUATION FTR, reproduced it with JDK b135 fastdebug: # JRE version: 7.0-b135 # Java VM: Java HotSpot(TM) Server VM (21.0-b05-fastdebug mixed mode solaris-x86 ) intelsdv01:~/mlvm/jruby$ bin/jruby.sh --server -Xcompile.invokedynamic=true -J-XX:-PrintVMOptions -J-XX:+ShowMessageBoxOnError -J-XX:+UseSerialGC -J-XX:+UnlockExperimentalVMOptions -J-XX:+EnableMethodHandles -J-XX:+EnableInvokeDynamic test/test_respond_to.rb
04-04-2011

EVALUATION I also could reproduce it on intelsdv01 with a debug build: intelsdv01:~/mlvm/jruby$ bin/jruby.indy -J-XX:-PrintVMOptions -J-XX:+ShowMessageBoxOnError -J-XX:+UseSerialGC test/test_respond_to.rb gamma is /export/twisti/build/hotspot-comp/hotspot/build/solaris_i486_compiler2/jvmg/gamma Using java runtime at: /export/twisti/build/hotspot-comp/hotspot/build/jdk-solaris-i586/debug/jre java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b133) Java HotSpot(TM) Server VM (build 21.0-b02-internal-jvmg, mixed mode) Using java runtime at: /export/twisti/build/hotspot-comp/hotspot/build/jdk-solaris-i586/debug/jre Java HotSpot(TM) Server VM (21.0-b02-internal-jvmg) for solaris-x86 JRE (1.7.0), built on Mar 15 2011 02:56:42 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/i386-SunOS:./lib/native/sparc-SunOS:./lib/native/sparcv9-SunOS -XX:-PrintVMOptions -XX:+ShowMessageBoxOnError -XX:+UseSerialGC -Xbootclasspath/a:./lib/jruby.jar -classpath : -Djruby.home=. -Djruby.lib=./lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main test/test_respond_to.rb Using java runtime at: /export/twisti/build/hotspot-comp/hotspot/build/jdk-solaris-i586/debug/jre Loaded suite test/test_respond_to Started .============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ============================================================================== y eip = 0xfa6027bb rax = 0xd721d2f0 rbx = 0x000000b0 rcx = 0x00000054 rdx = 0x8c800001 rdi = 0xd21b2350 rsi = 0xf71d6725 rbp = 0xd21b231c rsp = 0xd21b22f4 ... (dbx) where current thread: t@79 [1] _waitid(0x0, 0x31f2, 0xd21b1ec0, 0x3), at 0xfdb7af95 [2] _waitpid(0x31f2, 0xd21b1f84, 0x0), at 0xfdb293bf [3] waitpid(0x31f2, 0xd21b1f84, 0x0), at 0xfdb6c805 =>[4] os::fork_and_exec(cmd = 0xfee42270 "dbx - 12653"), line 6244 in "os_solaris.cpp" [5] VMError::show_message_box(this = 0xd21b2224, buf = 0xfee42270 "dbx - 12653", buflen = 2000), line 56 in "vmError_solaris.cpp" [6] VMError::report_and_die(this = 0xd21b2224), line 806 in "vmError.cpp" [7] report_vm_error(file = 0xfe850e18 "/home/ct232829/hotspot-comp/hotspot/src/cpu/x86/vm/assembler_x86.cpp", line = 5081, error_msg = 0xfe850e5d "assert(false) failed", detail_msg = 0xfe850e72 "start up GDB"), line 216 in "debug.cpp" [8] MacroAssembler::debug32(rdi = -769973424, rsi = -149067995, rbp = -769973476, rsp = -769973516, rbx = 176, rdx = -1937768447, rcx = 84, rax = -685649168, eip = -94361669, msg = 0xfec65d20 "illegal bytecode sequence - method not verified"), line 5081 in "assembler_x86.cpp" [9] 0xfa6027c1(0xd721cc08, 0xd721cc30, 0xd811e8f8, 0x0, 0x0, 0x0), at 0xfa6027c1 [10] 0xfa6030e8(0xe16dc0b8, 0xd721c4a0, 0xe16dc0a0, 0xd811e800, 0xd812ea38, 0xd21b2390), at 0xfa6030e8 [11] 0xfa603666(0x0, 0x0, 0x0, 0x18, 0xe16dbdb0, 0xd721c4a0), at 0xfa603666 [12] 0xfa6030e8(0xd721c4c0, 0xe16dc108, 0xd721c4a0, 0xf6f30b00, 0xe16dc0a0, 0xe16dc0a0), at 0xfa6030e8 [13] 0xfa6030e8(0xd721c4a0, 0xf6f30b00, 0xe16dc0a0, 0xe16dc0a0, 0xd811e800, 0xd81e9bf8), at 0xfa6030e8 [14] 0xfa603666(0xd81ab690, 0xe16dc0b8, 0xd811e8b0, 0xe16dc0a0, 0xd811e800, 0xd811e8a0), at 0xfa603666 [15] 0xfa6030e8(0xe16dc0b8, 0xd811e8b0, 0xe16dc0a0, 0xd811e800, 0xd811e8a0, 0xd21b24f0), at 0xfa6030e8 [16] 0xfa6030e8(0xe16dc0b8, 0xd811e8f8, 0xd811e8c8, 0xe16dc0d8, 0xe16dc0a0, 0xd811e800), at 0xfa6030e8 [17] 0xfa603666(0x0, 0x0, 0x0, 0x17, 0xe16dbdb0, 0xd811e8f8), at 0xfa603666 [18] 0xfa6030e8(0xd811e958, 0xe16dc108, 0xd811e8f8, 0xd811e8c8, 0xe16dc0d8, 0xf6d78730), at 0xfa6030e8 [19] 0xfa6030e8(0xd811e8f8, 0xd811e8c8, 0xe16dc0d8, 0xf6d78730, 0xe16dc0a0, 0xe16dc0a0), at 0xfa6030e8 [20] 0xfa603666(0xd811e8c8, 0x0, 0x0, 0x0, 0xd811e990, 0xe16dc0b8), at 0xfa603666 [21] 0xfa6030e8(0xe16dc0b8, 0x0, 0xe16dc0a0, 0xd811e800, 0xe16dc1b0, 0xd21b26b8), at 0xfa6030e8 [22] 0xfa6030e8(0x0, 0x0, 0x0, 0xd811e9d8, 0xe16dc208, 0x0), at 0xfa6030e8 [23] 0xfa6030e8(0xe16dc1f8, 0xd811e9b0, 0xe16dc1e0, 0xd811e800, 0xe16dc1c0, 0xd21b2750), at 0xfa6030e8 [24] 0xfa6030e8(0xe16dc1e0, 0xd811e800, 0xd811ea00, 0xd21b2784, 0xf6697fa1, 0xd21b27cc), at 0xfa6030e8 [25] 0xfa6030e8(0x0, 0x0, 0xe16dc1e0, 0x3e8, 0x0, 0xe16dbdb0), at 0xfa6030e8 [26] 0xfa6030e8(0xd811ea00, 0xf691a728, 0xe16dc278, 0xe16dc218, 0xd811e800, 0xe16dc238), at 0xfa6030e8 [27] 0xfa6030e8(0xd811ea00, 0xf691a728, 0xe16dc218, 0xe16dc0a0, 0xd811e800, 0xe16dc338), at 0xfa6030e8 [28] 0xfa6030e8(0xd811ea00, 0xf691a728, 0xe16dc218, 0xe16dc0a0, 0xd811e800, 0xe16dc338), at 0xfa6030e8 [29] 0xfa6030e8(0x0, 0xd811ea00, 0xf691a728, 0xe16dc218, 0xe16dc0a0, 0xd811e800), at 0xfa6030e8 [30] 0xfa6030e8(0x0, 0xd811ea00, 0xf691a728, 0xe16dc218, 0xe16dc0a0, 0xd811e800), at 0xfa6030e8 [31] 0xfa6030e8(0xd811ea00, 0xf691a728, 0xe16dc218, 0xe16dc0a0, 0xd811e800, 0xe16dc3c0), at 0xfa6030e8 [32] 0xfa603666(0xd811ea20, 0xe16dc0b8, 0x0, 0xe16dc0a0, 0xd811e800, 0xe16dc1a0), at 0xfa603666 [33] 0xfa6030e8(0xe16dc0b8, 0x0, 0xe16dc0a0, 0xd811e800, 0xe16dc3e8, 0xd21b29fc), at 0xfa6030e8 [34] 0xfa6030e8(0x0, 0x0, 0x0, 0xd811ea90, 0xe16dc208, 0x0), at 0xfa6030e8 [35] 0xfa6030e8(0xe16dc0b8, 0xe16dc418, 0xd811ea68, 0xe16dc428, 0xd811e800, 0xe16dc3f8), at 0xfa6030e8 [36] 0xfa6030e8(0xe16dc0b8, 0xe16dc428, 0xd811e800, 0xd811eab8, 0xd21b2ad8, 0xf68146e3), at 0xfa6030e8 [37] 0xfa6030e8(0x0, 0xb47, 0xd811eab8, 0xe16dc0b8, 0x0, 0xe16dc428), at 0xfa6030e8 [38] 0xfa6030e8(0xe16dc428, 0xd811e800, 0xd811ead8, 0xd21b2b54, 0xf71be1f6, 0xd21b2b94), at 0xfa6030e8 [39] 0xfa6030e8(0x0, 0x0, 0x0, 0x0, 0xe16dc438, 0xd811e800), at 0xfa6030e8 [40] 0xfa6037f9(0xd811e798, 0xfed485f8, 0x1f80, 0xfed485f8, 0xd21b2d98, 0xf642acd8), at 0xfa6037f9 [41] 0xfa600431(0xd21b2c44, 0xd21b2e10, 0xa, 0xf642acd8, 0xfa60b560, 0xd21b2d98, 0x1, 0x8ce6400, 0x0, 0x0), at 0xfa600431 [42] JavaCalls::call_helper(result = 0xd21b2e0c, m = 0xd21b2d10, args = 0xd21b2d90, __the_thread__ = 0x8ce6400), line 403 in "javaCalls.cpp" [43] os::os_exception_wrapper(f = 0xfe334900 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xd21b2e0c, method = 0xd21b2d10, args = 0xd21b2d90, thread = 0x8ce6400), line 4198 in "os_solaris.cpp" [44] JavaCalls::call(result = 0xd21b2e0c, method = CLASS, args = 0xd21b2d90, __the_thread__ = 0x8ce6400), line 317 in "javaCalls.cpp" [45] JavaCalls::call_virtual(result = 0xd21b2e0c, spec_klass = CLASS, name = 0x80c83f0, signature = 0x80cc118, args = 0xd21b2d90, __the_thread__ = 0x8ce6400), line 214 in "javaCalls.cpp" [46] JavaCalls::call_virtual(result = 0xd21b2e0c, receiver = CLASS, spec_klass = CLASS, name = 0x80c83f0, signature = 0x80cc118, __the_thread__ = 0x8ce6400), line 220 in "javaCalls.cpp" [47] thread_entry(thread = 0x8ce6400, __the_thread__ = 0x8ce6400), line 2628 in "jvm.cpp" [48] JavaThread::thread_main_inner(this = 0x8ce6400), line 1503 in "thread.cpp" [49] JavaThread::run(this = 0x8ce6400), line 1487 in "thread.cpp" [50] java_start(thread_addr = 0x8ce6400), line 1067 in "os_solaris.cpp" [51] _thr_setup(0xd4df6a00), at 0xfdb771d0 [52] _lwp_start(0x0, 0x31f2, 0xd21b1ec0, 0x3, 0xd4df6a00, 0xfdbee000), at 0xfdb774c0 (dbx) p ps() "Executing ps" for thread: "RubyThread-68: /home/ct232829/mlvm/jruby/lib/ruby/1.8/test/unit/assertions.rb:292" daemon prio=3 tid=0x08ce6400 nid=0x4f runnable [0x00000000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_in_vm Thread: 0x08ce6400 [0x4f] State: _call_back _has_called_back 0 _at_poll_safepoint 0 JavaThread state: _thread_in_vm (guessing starting frame id=d21b1ea4 based on current fp) C frame (sp=0xd21b1ea4 unextended sp=0xd21b1ea4, fp=0xd21b1f48, pc=0xfd7c0003) C frame (sp=0xd21b1f50 unextended sp=0xd21b1f50, fp=0xd21b1f64, pc=0xfdb6c805) C frame (sp=0xd21b1f6c unextended sp=0xd21b1f6c, fp=0xd21b1fa8, pc=0xfe5bf54b) C frame (sp=0xd21b1fb0 unextended sp=0xd21b1fb0, fp=0xd21b1fe4, pc=0xfe797913) C frame (sp=0xd21b1fec unextended sp=0xd21b1fec, fp=0xd21b220c, pc=0xfe7963ac) C frame (sp=0xd21b2214 unextended sp=0xd21b2214, fp=0xd21b2268, pc=0xfe19056b) C frame (sp=0xd21b2270 unextended sp=0xd21b2270, fp=0xd21b22cc, pc=0xfdefd563) 1 - frame( sp=0xd21b22d4, unextended_sp=0xd21b22d4, fp=0xd21b231c, pc=0xfa6027c1) rubyjit.build_message_7FB3AF661AF0B4FECCE04460F072B7B5ABEFFAF7.__file__(/home/ct232829/mlvm/jruby/lib/ruby/1.8/test/unit/assertions.rb:485) 2 - frame( sp=0xd21b2324, unextended_sp=0xd21b2340, fp=0xd21b2374, pc=0xfa6030e8) rubyjit.build_message_7FB3AF661AF0B4FECCE04460F072B7B5ABEFFAF7.__file__ 3 - frame( sp=0xd21b237c, unextended_sp=0xd21b237c, fp=0xd21b23b0, pc=0xfa603666) org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:107) 4 - frame( sp=0xd21b23b8, unextended_sp=0xd21b23cc, fp=0xd21b2404, pc=0xfa6030e8) org.jruby.runtime.invokedynamic.InvokeDynamicSupport.fallback(InvokeDynamicSupport.java:296) 5 - frame( sp=0xd21b240c, unextended_sp=0xd21b2418, fp=0xd21b2450, pc=0xfa6030e8) sun.dyn.MethodHandleImpl$GuardWithTest.invoke_L5(MethodHandleImpl.java:990) 6 - frame( sp=0xd21b2458, unextended_sp=0xd21b245c, fp=0xd21b2494, pc=0xfa603666) rubyjit.assert_equal_91A33138C04B05D60CDB4FDA6A3261A9A69FCAAC.__file__(/home/ct232829/mlvm/jruby/lib/ruby/1.8/test/unit/assertions.rb:79) 7 - frame( sp=0xd21b249c, unextended_sp=0xd21b24a0, fp=0xd21b24d4, pc=0xfa6030e8) rubyjit.assert_equal_91A33138C04B05D60CDB4FDA6A3261A9A69FCAAC.__file__ 8 - frame( sp=0xd21b24dc, unextended_sp=0xd21b24dc, fp=0xd21b2510, pc=0xfa6030e8) org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:49) 9 - frame( sp=0xd21b2518, unextended_sp=0xd21b2518, fp=0xd21b2554, pc=0xfa603666) org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:247) 10 - frame( sp=0xd21b255c, unextended_sp=0xd21b2570, fp=0xd21b25b0, pc=0xfa6030e8) org.jruby.runtime.invokedynamic.InvokeDynamicSupport.fallback(InvokeDynamicSupport.java:285) 11 - frame( sp=0xd21b25b8, unextended_sp=0xd21b25c4, fp=0xd21b2604, pc=0xfa6030e8) sun.dyn.MethodHandleImpl$GuardWithTest.invoke_L7(MethodHandleImpl.java:1000) 12 - frame( sp=0xd21b260c, unextended_sp=0xd21b2610, fp=0xd21b264c, pc=0xfa603666) test.test_respond_to.block_4$RUBY$test_respond_to_heavy_concurrency(test/test_respond_to.rb:57) 13 - frame( sp=0xd21b2654, unextended_sp=0xd21b2668, fp=0xd21b269c, pc=0xfa6030e8) test.test_respond_toBlockCallback$block_4$RUBY$test_respond_to_heavy_concurrencyxx1.call 14 - frame( sp=0xd21b26a4, unextended_sp=0xd21b26a4, fp=0xd21b26d8, pc=0xfa6030e8) org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:112) 15 - frame( sp=0xd21b26e0, unextended_sp=0xd21b26fc, fp=0xd21b2734, pc=0xfa6030e8) org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:95) 16 - frame( sp=0xd21b273c, unextended_sp=0xd21b273c, fp=0xd21b2770, pc=0xfa6030e8) org.jruby.runtime.Block.yield(Block.java:130) 17 - frame( sp=0xd21b2778, unextended_sp=0xd21b2778, fp=0xd21b27a4, pc=0xfa6030e8) org.jruby.RubyFixnum.times(RubyFixnum.java:252) 18 - frame( sp=0xd21b27ac, unextended_sp=0xd21b27c4, fp=0xd21b27f0, pc=0xfa6030e8) org.jruby.RubyFixnum$i$0$0$times.call(RubyFixnum$i$0$0$times.gen:65535) 19 - frame( sp=0xd21b27f8, unextended_sp=0xd21b27f0, fp=0xd21b2834, pc=0xfa6030e8) sun.dyn.FilterGeneric$F7.invoke_F7(FilterGeneric.java:840) 20 - frame( sp=0xd21b283c, unextended_sp=0xd21b2840, fp=0xd21b2880, pc=0xfa6030e8) sun.dyn.FilterGeneric$F6.invoke_F6(FilterGeneric.java:754) 21 - frame( sp=0xd21b2888, unextended_sp=0xd21b288c, fp=0xd21b28c8, pc=0xfa6030e8) sun.dyn.MethodHandleImpl$GuardWithCatch.invoke_L6(MethodHandleImpl.java:1121) 22 - frame( sp=0xd21b28d0, unextended_sp=0xd21b28d8, fp=0xd21b2914, pc=0xfa6030e8) sun.dyn.MethodHandleImpl$GuardWithCatch.invoke_L6(MethodHandleImpl.java:1121) 23 - frame( sp=0xd21b291c, unextended_sp=0xd21b2928, fp=0xd21b2960, pc=0xfa6030e8) sun.dyn.MethodHandleImpl$GuardWithTest.invoke_L5(MethodHandleImpl.java:989) 24 - frame( sp=0xd21b2968, unextended_sp=0xd21b296c, fp=0xd21b29a0, pc=0xfa603666) test.test_respond_to.block_3$RUBY$test_respond_to_heavy_concurrency(test/test_respond_to.rb:55) 25 - frame( sp=0xd21b29a8, unextended_sp=0xd21b29ac, fp=0xd21b29e0, pc=0xfa6030e8) test.test_respond_toBlockCallback$block_3$RUBY$test_respond_to_heavy_concurrencyxx1.call 26 - frame( sp=0xd21b29e8, unextended_sp=0xd21b29e8, fp=0xd21b2a1c, pc=0xfa6030e8) org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:133) 27 - frame( sp=0xd21b2a24, unextended_sp=0xd21b2a3c, fp=0xd21b2a80, pc=0xfa6030e8) org.jruby.runtime.BlockBody.call(BlockBody.java:73) 28 - frame( sp=0xd21b2a88, unextended_sp=0xd21b2a88, fp=0xd21b2ac0, pc=0xfa6030e8) org.jruby.runtime.Block.call(Block.java:89) 29 - frame( sp=0xd21b2ac8, unextended_sp=0xd21b2ac8, fp=0xd21b2af8, pc=0xfa6030e8) org.jruby.RubyProc.call(RubyProc.java:268) 30 - frame( sp=0xd21b2b00, unextended_sp=0xd21b2b0c, fp=0xd21b2b40, pc=0xfa6030e8) org.jruby.RubyProc.call(RubyProc.java:232) 31 - frame( sp=0xd21b2b48, unextended_sp=0xd21b2b48, fp=0xd21b2b74, pc=0xfa6030e8) org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:95) 32 - frame( sp=0xd21b2b7c, unextended_sp=0xd21b2b94, fp=0xd21b2bb8, pc=0xfa6037f9) java.lang.Thread.run(Thread.java:722) ps() = (void)
15-03-2011

EVALUATION I was able to reproduce it with JDK7 b133 on intelsdv01 (Solaris) and intelsdv33 (Linux): intelsdv01:~/mlvm/jruby$ bin/jruby.indy -J-server -J-XX:-PrintVMOptions -J-XX:+ShowMessageBoxOnError -J-XX:+UseSerialGC test/test_respond_to.rb /java/re/jdk/7/promoted/ea/b133/binaries/solaris-i586/fastdebug/bin/java is /java/re/jdk/7/promoted/ea/b133/binaries/solaris-i586/fastdebug/bin/java java version "1.7.0-ea-fastdebug" Java(TM) SE Runtime Environment (build 1.7.0-ea-fastdebug-b133) Java HotSpot(TM) Server VM (build 21.0-b03-fastdebug, mixed mode) Java HotSpot(TM) Server VM (21.0-b03-fastdebug) for solaris-x86 JRE (1.7.0-ea-fastdebug-b133), built on Mar 10 2011 01:56:42 by "" with Sun Studio 12u1 /java/re/jdk/7/promoted/ea/b133/binaries/solaris-i586/fastdebug/bin/java -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/i386-SunOS:./lib/native/sparc-SunOS:./lib/native/sparcv9-SunOS -server -XX:-PrintVMOptions -XX:+ShowMessageBoxOnError -XX:+UseSerialGC -Xbootclasspath/a:./lib/jruby.jar -classpath : -Djruby.home=. -Djruby.lib=./lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main test/test_respond_to.rb Loaded suite test/test_respond_to Started .============================================================================== illegal bytecode sequence - method not verified ------------------------------------------------------------------------------ Execution stopped, print registers? ==============================================================================
15-03-2011