Java::JavaLang::ArrayIndexOutOfBoundsException: 2 thrown when calling java 
method using String...
-------------------------------------------------------------------------------------------------

                 Key: JRUBY-6010
                 URL: https://jira.codehaus.org/browse/JRUBY-6010
             Project: JRuby
          Issue Type: Bug
          Components: Java Integration
    Affects Versions: JRuby 1.6.3
         Environment: Ubuntu 11.04 64bit using JRuby 1.6.3 against Java 6
            Reporter: Alex Tambellini
            Priority: Minor


I have a method in java with the following method signature:

public Set<Blah> getBlahs(Blah firstBlah, Blah secondBlah, int firstInt, int 
secondInt, String... strings)

and I try to call this method from jruby using a single string in the array 
using the splat operator:

array_of_strings = ["blah"]

get_blahs(blah, blah, 0, 3, *array_of_strings)

It succeeds.

If I try to call this method from jruby using multiple strings in the array not 
using the splat operator:

array_of_strings = ["blah", "blah"]

get_blahs(blah, blah, 0, 3, chain.to_java(:string))

It succeeds.

If I try to call this method from jruby using multiple strings in the array 
using the splat operator:

array_of_strings = ["blah", "blah"]

get_blahs(blah, blah, 0, 3, *array_of_strings)

It fails with the following stacktrace:

Java::JavaLang::ArrayIndexOutOfBoundsException: 2
        from 
org.jruby.java.dispatch.CallableSelector.findCallable(CallableSelector.java:165)
        from 
org.jruby.java.dispatch.CallableSelector.findMatchingCallableForArgs(CallableSelector.java:88)
        from 
org.jruby.java.dispatch.CallableSelector.matchingCallableArityN(CallableSelector.java:43)
        from 
org.jruby.java.invokers.RubyToJavaInvoker.findCallable(RubyToJavaInvoker.java:182)
        from 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:28)
        from 
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:97)
        from 
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:101)
        from org.jruby.RubyClass.finvoke(RubyClass.java:543)
        from org.jruby.RubyBasicObject.send(RubyBasicObject.java:2787)
        from org.jruby.RubyKernel.send(RubyKernel.java:2104)
        from org.jruby.RubyKernel$s$send.call(RubyKernel$s$send.gen:65535)
        from 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:181)
        from 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:69)
        from 
org.jruby.ast.CallSpecialArgNode.interpret(CallSpecialArgNode.java:73)
        from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
        from 
org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
... 193 levels...
        from 
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:319)
        from 
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
        from 
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
        from 
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:312)
        from 
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:169)
        from script.rails.__file__(script/rails:6)
        from script.rails.load(script/rails)
        from org.jruby.Ruby.runScript(Ruby.java:671)
        from org.jruby.Ruby.runNormally(Ruby.java:575)
        from org.jruby.Ruby.runFromMain(Ruby.java:424)
        from org.jruby.Main.doRunFromMain(Main.java:278)
        from org.jruby.Main.internalRun(Main.java:198)
        from org.jruby.Main.run(Main.java:164)
        from org.jruby.Main.run(Main.java:148)
        from 
org.jruby.util.ShellLauncher$ScriptThreadProcess.run(ShellLauncher.java:140)
        from java.lang.Thread.run(Thread.java:679)

--
This message is automatically generated by JIRA.
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