Lenny Marks created JRUBY-6438:
----------------------------------
Summary: "TypeError: can't convert Array into String" from ffi
code in 1.9 mode
Key: JRUBY-6438
URL: https://jira.codehaus.org/browse/JRUBY-6438
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.6.6
Reporter: Lenny Marks
Assignee: Thomas E Enebo
{noformat}
TypeError: can't convert Array into String
join at org/jruby/RubyArray.java:1868
initialize at
/projects/eds_test/share/jruby-1.6.6/lib/ruby/site_ruby/shared/ffi/ffi.rb:65
attach_function at
/projects/eds_test/share/jruby-1.6.6/lib/ruby/site_ruby/shared/ffi/library.rb:154
each at org/jruby/RubyArray.java:1614
attach_function at
/projects/eds_test/share/jruby-1.6.6/lib/ruby/site_ruby/shared/ffi/library.rb:150
LibXML at
/Users/Shared/RubyGems/gems/nokogiri-1.4.4-java/lib/nokogiri/ffi/libxml.rb:275
Nokogiri at
/Users/Shared/RubyGems/gems/nokogiri-1.4.4-java/lib/nokogiri/ffi/libxml.rb:42
(root) at
/Users/Shared/RubyGems/gems/nokogiri-1.4.4-java/lib/nokogiri/ffi/libxml.rb:41
{noformat}
{noformat}
# jruby-1.6.6/lib/ruby/site_ruby/shared/ffi/library.rb" line 154
raise FFI::NotFoundError.new(cname.to_s, ffi_libraries.map { |lib| lib.name })
{noformat}
The code above is passing an array to FFI::NotFoundError#initialize(function,
*libraries)
The following monkey patch to jruby-1.6.6/lib/ruby/site_ruby/shared/ffi/ffi.rb
seemed to resolve the issue for me.
{noformat}
require 'ffi'
module FFI
class NotFoundError < NativeError
def initialize(function, *libraries)
libraries.flatten!
super("Function '#{function}' not found in [#{libraries[0].nil? ?
'current process' : libraries.join(", ")}]")
end
end
end
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.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