java.lang.ArrayIndexOutOfBoundsException: -1 in threading
---------------------------------------------------------
Key: JRUBY-4547
URL: http://jira.codehaus.org/browse/JRUBY-4547
Project: JRuby
Issue Type: Bug
Environment: Solaris 10u7, jdk 64bit 1.6.0_07, jruby 1.4.0
Reporter: Jonathan Simms
Assignee: Thomas E Enebo
I'm getting an exception in my logs:
{noformat}
Exception in thread "ls04_tskin" java.lang.ArrayIndexOutOfBoundsException: -1
at org.jruby.runtime.ThreadContext.popRubyClass(ThreadContext.java:526)
at org.jruby.runtime.ThreadContext.postYield(ThreadContext.java:1316)
at org.jruby.runtime.InterpretedBlock.post(InterpretedBlock.java:180)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:309)
at org.jruby.runtime.BlockBody.call(BlockBody.java:72)
at org.jruby.runtime.BlockBody.call(BlockBody.java:78)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:221)
at org.jruby.RubyProc.call(RubyProc.java:204)
at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:94)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "ls07_tskin" java.lang.ArrayIndexOutOfBoundsException: -1
at org.jruby.runtime.ThreadContext.popRubyClass(ThreadContext.java:526)
at org.jruby.runtime.ThreadContext.postYield(ThreadContext.java:1316)
at org.jruby.runtime.InterpretedBlock.post(InterpretedBlock.java:180)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:309)
{noformat}
It appears to be causing thread death, and the exception is not raised on the
ruby side, which makes it difficult to determine where the exception is
occurring.
The exception happens both with thread pooling enabled and disabled. With
thread pooling the traceback is:
{noformat}
java.util.concurrent.ExecutionException:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at org.jruby.internal.runtime.FutureThread.join(FutureThread.java:140)
at org.jruby.RubyThread.join(RubyThread.java:477)
at
org.jruby.RubyThread$i_method_0_1$RUBYINVOKER$join.call(org/jruby/RubyThread$i_method_0_1$RUBYINVOKER$join.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:623)
at
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:176)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:147)
at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
at org.jruby.ast.OrNode.interpret(OrNode.java:94)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.RescueNode.executeBody(RescueNode.java:225)
at
org.jruby.ast.RescueNode.interpretWithJavaExceptions(RescueNode.java:147)
at org.jruby.ast.RescueNode.interpret(RescueNode.java:110)
at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.UntilNode.interpret(UntilNode.java:120)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.WhileNode.interpret(WhileNode.java:131)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at
org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:317)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:305)
at org.jruby.runtime.BlockBody.call(BlockBody.java:72)
at org.jruby.runtime.BlockBody.call(BlockBody.java:78)
at org.jruby.runtime.Block.call(Block.java:89)
at org.jruby.RubyProc.call(RubyProc.java:221)
at org.jruby.RubyProc.call(RubyProc.java:204)
at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:94)
at org.jruby.internal.runtime.FutureThread$1.run(FutureThread.java:63)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.jruby.runtime.ThreadContext.popRubyClass(ThreadContext.java:526)
at org.jruby.runtime.ThreadContext.postYield(ThreadContext.java:1316)
at org.jruby.runtime.InterpretedBlock.post(InterpretedBlock.java:180)
at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:309)
... 13 more
{noformat}
I'm sorry, but I really don't know what additional information i could provide
to be more helpful :/
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email