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


Reply via email to