|
Quick Lists
|
|
Bug ID:
|
5012884
|
|
Votes
|
0
|
|
Synopsis
|
(cl) classloading failed due to "NoClassDefFoundError: IllegalName:"
|
|
Category
|
java:classes_lang
|
|
Reported Against
|
tiger-beta
|
|
Release Fixed
|
|
|
State
|
11-Closed, duplicate of 4986512,
bug
|
|
Priority:
|
3-Medium
|
|
Related Bugs
|
4986512
|
|
Submit Date
|
12-MAR-2004
|
|
Description
|
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)
======================================================================
|
|
Work Around
|
N/A
|
|
Evaluation
|
Duplicate of 4986512. The provided class name does not conform to the
specification for ClassLoader.defineClass(). Based on the provided stacktrace,
it appears that the code which calls ClassLoader.loadClass needs to be modified.
-- xxxxx@xxxxx 2004-03-15
|
|
Comments
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |