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


Reply via email to