Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Won't Fix
    • Affects Version/s: JRuby 1.5.0.RC1
    • Fix Version/s: JRuby 1.5
    • Component/s: Core Classes/Modules
    • Labels:
      None
    • Environment:
      Centos Linux 5
      jruby 1.5.0.RC1 (ruby 1.8.7 patchlevel 249) (2010-04-25 341c4c7) (Java HotSpot(TM) Client VM 1.6.0_14) [i386-java]
    • Number of attachments :
      0

      Description

      Seems like a regression from JRuby 1.4.0. When I start our Rails application it fails with the following exception. We start glassfish with the "-d" option. Removing the "-d" option makes the exception go away, but we would like glassfish to detach and write the process ID to file for later administration of the process.

      java.lang.ClassLoader:-2:in `defineClass1': java.lang.NoClassDefFoundError: com/sun/jna/Library (NativeException)
      from java.lang.ClassLoader:-1:in `defineClass'
      from java.security.SecureClassLoader:-1:in `defineClass'
      from java.net.URLClassLoader:-1:in `defineClass'
      from java.net.URLClassLoader:-1:in `access$000'
      from java.net.URLClassLoader$1:-1:in `run'
      from java.security.AccessController:-2:in `doPrivileged'
      from java.net.URLClassLoader:-1:in `findClass'
      from org/jruby/util/JRubyClassLoader.java:49:in `findClass'
      from java.lang.ClassLoader:-1:in `loadClass'
      from java.lang.ClassLoader:-1:in `loadClass'
      from java.lang.ClassLoader:-1:in `loadClassInternal'
      from org/glassfish/scripting/gem/GlassFishMain.java:218:in `start'
      from /usr/local/aifudis.admin/platform/jruby-1.5.0.RC1/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/lib/server.rb:146:in `start'
      from /usr/local/aifudis.admin/platform/jruby-1.5.0.RC1/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/lib/server.rb:146:in `start'
      from /usr/local/aifudis.admin/platform/jruby-1.5.0.RC1/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/bin/glassfish:55
      from /usr/local/aifudis.admin/platform/jruby-1.5.0.RC1/lib/ruby/gems/1.8/gems/glassfish-1.0.2-universal-java/bin/glassfish:19:in `load'
      from /usr/local/aifudis.admin/platform/jruby/bin/glassfish:19

        Issue Links

          Activity

          Hide
          Uwe Kubosch added a comment -

          The issue title mentions version 1.5.0.dev, but should be 1.5.0.RC1.

          Show
          Uwe Kubosch added a comment - The issue title mentions version 1.5.0.dev, but should be 1.5.0.RC1.
          Hide
          Hiro Asari added a comment -

          Corrected.

          Show
          Hiro Asari added a comment - Corrected.
          Hide
          Hiro Asari added a comment -

          git bisect shows this as the first commit to fail:

          b46d1bf4480125c69aea0c5b76f00127f886247e is first bad commit
          commit b46d1bf4480125c69aea0c5b76f00127f886247e
          Author: Wayne Meissner <wmeissner@gmail.com>
          Date: Sun Oct 4 00:22:18 2009 +1000

          Remove jna from build

          :100644 100644 d1157d30947003f3b6deb6a9b7a2c19007250032 df38ee1fbb42d0f970babc6f0761fe99364c69d7 M build.xml

          Show
          Hiro Asari added a comment - git bisect shows this as the first commit to fail: b46d1bf4480125c69aea0c5b76f00127f886247e is first bad commit commit b46d1bf4480125c69aea0c5b76f00127f886247e Author: Wayne Meissner <wmeissner@gmail.com> Date: Sun Oct 4 00:22:18 2009 +1000 Remove jna from build :100644 100644 d1157d30947003f3b6deb6a9b7a2c19007250032 df38ee1fbb42d0f970babc6f0761fe99364c69d7 M build.xml
          Hide
          Charles Oliver Nutter added a comment -

          I believe the GF gem uses Akuma, which uses JNA to do its daemonizing magic. So the problem here is that we no longer ship with JNA, which GF needed.

          I don't think this is something we'll remedy in 1.5. We no longer have any dependency whatsoever on JNA, and so we won't increase our dist size.

          I think we need to either get someone to release a GF gem that includes JNA or modify it to no longer us Akuma but to use something based on FFI.

          The interim workaround would be to add a release of JNA to JRuby's lib dir, and that should allow it to work.

          Show
          Charles Oliver Nutter added a comment - I believe the GF gem uses Akuma, which uses JNA to do its daemonizing magic. So the problem here is that we no longer ship with JNA, which GF needed. I don't think this is something we'll remedy in 1.5. We no longer have any dependency whatsoever on JNA, and so we won't increase our dist size. I think we need to either get someone to release a GF gem that includes JNA or modify it to no longer us Akuma but to use something based on FFI. The interim workaround would be to add a release of JNA to JRuby's lib dir, and that should allow it to work.
          Hide
          Hiro Asari added a comment -

          OK, so I managed to get around this on the glassfish gem side. It's a simple edit in pom.xml--http://bit.ly/dvQJRc

          I also uploaded the gem file that contains this fix, so that you can use it if you dare (I did verify that it works on my Linux VM image). http://github.com/BanzaiMan/glassfish-gem/downloads

          Anyway, we won't be dealing with this problem on JRuby side, so I'm closing this ticket.

          Show
          Hiro Asari added a comment - OK, so I managed to get around this on the glassfish gem side. It's a simple edit in pom.xml -- http://bit.ly/dvQJRc I also uploaded the gem file that contains this fix, so that you can use it if you dare (I did verify that it works on my Linux VM image). http://github.com/BanzaiMan/glassfish-gem/downloads Anyway, we won't be dealing with this problem on JRuby side, so I'm closing this ticket.

            People

            • Assignee:
              Unassigned
              Reporter:
              Uwe Kubosch
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: