calling to_java(:string) on a ruby array with a symbol in it now causes java
exception
--------------------------------------------------------------------------------------
Key: JRUBY-4189
URL: http://jira.codehaus.org/browse/JRUBY-4189
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.4.0RC3
Reporter: Jesse Rankin
Assignee: Thomas E Enebo
I discovered this bug because it breaks the jruby_ldap gem.
In 1.3.1:
jruby-1.3.1 > [:test].to_java(:string)
=> #<#<Class:01x8706f6>:0xda2737>
In 1.4.0RC3:
irb(main):002:0> [:test].to_java(:string)
Array.java:-2:in `set': java.lang.IllegalArgumentException: array element type
mismatch
from JavaArray.java:126:in `setWithExceptionHandling'
from ArrayJavaAddons.java:105:in `copyDataToJavaArray'
from JavaClass.java:1578:in `javaArrayFromRubyArray'
from ArrayJavaAddons.java:78:in `to_java'
from
org/jruby/java/addons/ArrayJavaAddons$s_method_multi$RUBYFRAMEDINVOKER$to_java.gen:-1:in
`call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from RootNode.java:129:in `interpret'
from ASTInterpreter.java:98:in `evalWithBinding'
from RubyKernel.java:966:in `eval'
from org/jruby/RubyKernel$s_method_0_3$RUBYFRAMEDINVOKER$eval.gen:-1:in
`call'
from DynamicMethod.java:150:in `call'
from CachingCallSite.java:67:in `call'
from FCallManyArgsNode.java:60:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:112:in `call'
from InterpretedMethod.java:124:in `call'
from DefaultMethod.java:144:in `call'
from CachingCallSite.java:67:in `call'
from CallManyArgsNode.java:59:in `interpret'
from FCallOneArgNode.java:36:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:210:in `call'
from DefaultMethod.java:185:in `call'
from CachingCallSite.java:187:in `call'
from CallTwoArgNode.java:59:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:251:in `yield'
from InterpretedBlock.java:185:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from ZYieldNode.java:25:in `interpret'
from NewlineNode.java:104:in `interpret'
from EnsureNode.java:96:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:192:in `call'
from DefaultMethod.java:177:in `call'
from CachingCallSite.java:156:in `callBlock'
from CachingCallSite.java:173:in `callIter'
from FCallOneArgBlockNode.java:34:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:216:in `yieldSpecific'
from Block.java:117:in `yieldSpecific'
from YieldTwoNode.java:31:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:117:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyKernel.java:1182:in `loop_1_9'
from
org/jruby/RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop_1_9.gen:-1:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:133:in `callIter'
from FCallNoArgBlockNode.java:32:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyKernel.java:1014:in `rbCatch'
from
org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.gen:-1:in `call'
from CachingCallSite.java:320:in `cacheAndCall'
from CachingCallSite.java:158:in `callBlock'
from CachingCallSite.java:173:in `callIter'
from FCallOneArgBlockNode.java:34:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:161:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:136:in `call'
from DefaultMethod.java:153:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from CallNoArgNode.java:61:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyKernel.java:1014:in `rbCatch'
from
org/jruby/RubyKernel$s_method_1_0$RUBYFRAMEDINVOKER$rbCatch.gen:-1:in `call'
from CachingCallSite.java:320:in `cacheAndCall'
from CachingCallSite.java:158:in `callBlock'
from CachingCallSite.java:173:in `callIter'
from FCallOneArgBlockNode.java:34:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from jirb:19:in `__file__'
from jirb:-1:in `load'
from Ruby.java:628:in `runScript'
from Ruby.java:550:in `runNormally'
from Ruby.java:396:in `runFromMain'
from Main.java:272:in `run'
from Main.java:117:in `run'
from Main.java:97:in `main'
--
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