Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5012884

(cl) classloading failed due to "NoClassDefFoundError: IllegalName:"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • None
    • 5.0
    • core-libs



      Name: rmT116609 Date: 03/12/2004


      FULL PRODUCT VERSION :
      java version "1.5.0-beta"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
      Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      Gentoo Linux - Kernel 2.6.3

      EXTRA RELEVANT SYSTEM CONFIGURATION :
      not important

      A DESCRIPTION OF THE PROBLEM :
      I cannot use the JInput linux plugins with JDK1.5.0 (beta) due to the following exception:
      Examining file : net/java/games/input/LinuxEnvironmentPlugin.class
      Found candidate class: net/java/games/input/LinuxEnvironmentPlugin.class
      Exception in thread "main" java.lang.NoClassDefFoundError: IllegalName: net/java/games/input/LinuxEnvironmentPlugin
         at java.lang.ClassLoader.preDefineClass(ClassLoader.java:459)
       
      With 1.4.2.03 and same classpath, file layout whatever it works without problems.

      I reported this problem here http://www.javagaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=jinput;action=display;num=1064924636


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Install JInput & JUtils (from javagaming.org)
      2. Install linux controller plugin for jinput (~/controller/* or .../lib/controller/*)
      3. Invoke ControllerEnvironment.getDefaultEnvironment().getControllers();


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Class LinuxEnvironmentPlugin should be loaded successfully.
      ACTUAL -
       java.lang.NoClassDefFoundError is thrown.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      Exception in thread "main" java.lang.NoClassDefFoundError: IllegalName: net/java/games/input/LinuxEnvironmentPlugin
              at java.lang.ClassLoader.preDefineClass(ClassLoader.java:459)
              at java.lang.ClassLoader.defineClass(ClassLoader.java:598)
              at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
              at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
              at java.net.URLClassLoader.access+100(URLClassLoader.java:56)
              at java.net.URLClassLoader+1.run(URLClassLoader.java:195)
              at java.security.AccessController.doPrivileged(Native Method)
              at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
              at net.java.games.util.plugins.Plugins.processJar(Plugins.java:115)
              at net.java.games.util.plugins.Plugins.scanPlugins(Plugins.java:88)
              at net.java.games.util.plugins.Plugins.<init>(Plugins.java:76)
              at net.java.games.input.DefaultControllerEnvironment.scanControllersAt(DefaultControllerEnvironment.java:199)
              at net.java.games.input.DefaultControllerEnvironment.scanControllers(DefaultControllerEnvironment.java:189)
              at net.java.games.input.DefaultControllerEnvironment.access$000(DefaultControllerEnvironment.java:58)
              at net.java.games.input.DefaultControllerEnvironment$1.run(DefaultControllerEnvironment.java:109)
              at java.security.AccessController.doPrivileged(Native Method)
              at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:107)
              at robs.jinput.JInputTester.<init>(JInputTester.java:25)
              at robs.jinput.JInputTester.main(JInputTester.java:52)

      Last two lines are user code: JInputTester.java:25 is
      controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      // JInput & JUtils should have been installed => accessible via classpath
      // Linux-Plugin files should have been copied to ~/controller or .../jre/lib/controller

      import net.java.games.input.*;

      public class JInputBug{
      public static void main(String... args){
                  controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();

                   for(Controller c : controllers){
                       System.out.printf("controller found: %s\n", c.getName());
                    }
      }
      }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      No workaround available.

      Release Regression From : 1.4.2_03
      The above release value was the last known release where this
      bug was known to work. Since then there has been a regression.

      (Incident Review ID: 242438)
      ======================================================================

            iris Iris Clark
            rmandalasunw Ranjith Mandala (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: