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)
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)
- duplicates
-
JDK-6993078 JSR 292 too many pushes: Lesp points into register window
-
- Closed
-