FFI::IO.for_fd raising Java::JavaLang::UnsatisfiedLinkError
-----------------------------------------------------------
Key: JRUBY-4999
URL: http://jira.codehaus.org/browse/JRUBY-4999
Project: JRuby
Issue Type: Bug
Affects Versions: JRuby 1.5.1
Environment: Windows 7 32 bit Enterprise Edition
Reporter: Arthur Schreiber
Assignee: Thomas E Enebo
FFI::IO.for_fd raises a Java::JavaLang::UnsatisfiedLinkError on the first call,
and a Java::JavaLang::NoClassDefFoundError on all subsequent calls.
Here is the irb session that shows the bug:
irb(main):001:0> require "rubygems"
=> true
irb(main):002:0> require "ffi"
=> true
irb(main):003:0> FFI::IO.for_fd(2, "r")
Java::JavaLang::UnsatisfiedLinkError: The operation completed successfully.
from
com.kenai.jaffl.provider.jffi.Library.loadNativeLibraries(Library.java:74)
from
com.kenai.jaffl.provider.jffi.Library.getNativeLibraries(Library.java:56)
from
com.kenai.jaffl.provider.jffi.Library.getSymbolAddress(Library.java:35)
from
com.kenai.jaffl.provider.jffi.Library.findSymbolAddress(Library.java:45)
from
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:203)
from
com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:125)
from
com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31)
from
com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:20)
from com.kenai.jaffl.Library.loadLibrary(Library.java:62)
from com.kenai.jaffl.Library.loadLibrary(Library.java:35)
from
org.jruby.ext.ffi.io.FileDescriptorByteChannel.<clinit>(FileDescriptorByteChannel.java:42)
from
org.jruby.ext.ffi.io.FileDescriptorIO.<init>(FileDescriptorIO.java:70)
from
org.jruby.ext.ffi.io.FileDescriptorIO.newInstance(FileDescriptorIO.java:87)
from
org.jruby.ext.ffi.io.FileDescriptorIO$s_method_1_0$RUBYINVOKER$newInstance.call(org/jruby/ext/ffi/io/FileDescriptorIO$s_method_1_0$RUBYINVOKER$newInstance.gen:65535)
from
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
from
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
... 115 levels...
from org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
from org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
from org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
from
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:180)
from
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
from
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
from
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
from c_3a_.jruby_minus_1_dot_5_dot_1.bin.jirb.__file__(jirb:13)
from c_3a_.jruby_minus_1_dot_5_dot_1.bin.jirb.load(jirb)
from org.jruby.Ruby.runScript(Ruby.java:685)
from org.jruby.Ruby.runNormally(Ruby.java:568)
from org.jruby.Ruby.runFromMain(Ruby.java:414)
from org.jruby.Main.run(Main.java:286)
from org.jruby.Main.run(Main.java:128)
from org.jruby.Main.main(Main.java:97)
irb(main):004:0> FFI::IO.for_fd(2, "r")
Java::JavaLang::NoClassDefFoundError: Could not initialize class
org.jruby.ext.ffi.io.FileDescriptorByteChannel
from
org.jruby.ext.ffi.io.FileDescriptorIO.<init>(FileDescriptorIO.java:70)
from
org.jruby.ext.ffi.io.FileDescriptorIO.newInstance(FileDescriptorIO.java:87)
from
org.jruby.ext.ffi.io.FileDescriptorIO$s_method_1_0$RUBYINVOKER$newInstance.call(org/jruby/ext/ffi/io/FileDescriptorIO$s_method_1_0$RUBYINVOKER$newInstance.gen:65535)
from
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
from
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
from org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
from
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:221)
from
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:188)
from
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:329)
from
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:188)
from org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
from org.jruby.ast.RootNode.interpret(RootNode.java:129)
from
org.jruby.evaluator.ASTInterpreter.evalWithBinding(ASTInterpreter.java:98)
from org.jruby.RubyKernel.eval(RubyKernel.java:1045)
... 108 levels...
from org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
from org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104)
from org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
from
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:180)
from
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:172)
from
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:309)
from
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148)
from c_3a_.jruby_minus_1_dot_5_dot_1.bin.jirb.__file__(jirb:13)
from c_3a_.jruby_minus_1_dot_5_dot_1.bin.jirb.load(jirb)
from org.jruby.Ruby.runScript(Ruby.java:685)
from org.jruby.Ruby.runNormally(Ruby.java:568)
from org.jruby.Ruby.runFromMain(Ruby.java:414)
from org.jruby.Main.run(Main.java:286)
from org.jruby.Main.run(Main.java:128)
from org.jruby.Main.main(Main.java:97)
irb(main):005:0>
--
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