Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Trivial Trivial
    • Resolution: Fixed
    • Affects Version/s: JRuby 1.7.0.pre2
    • Fix Version/s: JRuby 1.7.0.RC1
    • Component/s: None
    • Labels:
      None
    • Environment:
      Linux 3.1.6 #3 PREEMPT Fri Jan 6 13:05:50 MST 2012 armv4tl GNU/Linux
    • Number of attachments :
      0

      Description

      While experimenting to use rails on a small arm based computer, I receive this stack trace from jruby. I would think that complaints about missing linux shared libraries should not be so noisy.

      I believe the bug here is that the stack trace should not appear.

      root@phidgetsbc:~# gem update
      java.lang.ExceptionInInitializerError
      at com.kenai.jffi.Foreign.getInstance(Foreign.java:95)
      at com.kenai.jffi.Type$BuiltinTypeInfo.<clinit>(Type.java:265)
      at com.kenai.jffi.Type$Builtin.size(Type.java:216)
      at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:153)
      at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
      at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:55)
      at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:39)
      at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:51)
      at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:47)
      at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:31)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
      at java.lang.Class.newInstance0(Class.java:372)
      at java.lang.Class.newInstance(Class.java:325)
      at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:75)
      at jnr.ffi.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:64)
      at jnr.ffi.FFIProvider.getSystemProvider(FFIProvider.java:33)
      at jnr.ffi.Runtime$SingletonHolder.<clinit>(Runtime.java:37)
      at jnr.ffi.Runtime.getSystemRuntime(Runtime.java:32)
      at jnr.posix.NativePOSIX.<init>(NativePOSIX.java:9)
      at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:31)
      at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:19)
      at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:81)
      at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:42)
      at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:33)
      at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:29)
      at jnr.posix.LazyPOSIX.isatty(LazyPOSIX.java:179)
      at org.jruby.Main.handleRaiseException(Main.java:505)
      at org.jruby.Main.main(Main.java:200)
      Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file. Tried [jni/arm-Linux/libjffi-1.2.so, /jni/arm-Linux/libjffi-1.2.so]
      at com.kenai.jffi.Init.load(Init.java:73)
      at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
      at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
      ... 31 more
      Caused by: java.lang.UnsatisfiedLinkError: could not locate stub library in jar file. Tried [jni/arm-Linux/libjffi-1.2.so, /jni/arm-Linux/libjffi-1.2.so]
      at com.kenai.jffi.internal.StubLoader.getStubLibraryStream(StubLoader.java:345)
      at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:292)
      at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:235)
      at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:395)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:264)
      at com.kenai.jffi.Init.load(Init.java:68)
      ... 33 more
      ArgumentError: Illformed requirement [">= 0"]
      parse at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/requirement.rb:81
      initialize at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/requirement.rb:106
      map! at org/jruby/RubyArray.java:2387
      initialize at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/requirement.rb:106
      default at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/requirement.rb:62
      Specification at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/specification.rb:83
      (root) at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/specification.rb:29
      (root) at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/defaults/jruby.rb:1
      require at org/jruby/RubyKernel.java:1024
      (root) at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems/defaults/jruby.rb:59
      require at org/jruby/RubyKernel.java:1024
      (root) at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems.rb:1
      load at org/jruby/RubyKernel.java:1050
      (root) at /usr/local/rvm/rubies/jruby-1.7.0.preview2/lib/ruby/shared/rubygems.rb:1273

        Activity

        Hide
        Charles Oliver Nutter added a comment -

        JRuby 1.7.0.RC1 will finally include native support for ARM Linux, so we shouldn't fail to load native stuff after that point.

        I'm hoping your original case was just a noisy internal error, but until RC1 is available you can try to pass -Xnative.enabled=false to JRuby so it won't attempt to load the native bits at all.

        Show
        Charles Oliver Nutter added a comment - JRuby 1.7.0.RC1 will finally include native support for ARM Linux, so we shouldn't fail to load native stuff after that point. I'm hoping your original case was just a noisy internal error, but until RC1 is available you can try to pass -Xnative.enabled=false to JRuby so it won't attempt to load the native bits at all.

          People

          • Assignee:
            Charles Oliver Nutter
            Reporter:
            Jason Schroeder
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: