Name: krC82822 Date: 04/09/2001
9 Apr 2001, eval1127@eng -- three occurrences in check_format.c
in all builds from 1.3.0 through 1.4 beta build 59 (see Comments section).
------------------
java version "1.3.0" [through 1.4. beta build 59]
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
When an invalid classfile is generated with multiple identical method
signatures, the JVM correctly throws a ClassFormatError. However, there is a
spelling error in the message. The word "repeative" does not exist, it would be
better reported as "repetitive".
One way to generate such an invalid classfile is compiling this class with Jikes
1.13, which has a known bug with clashes between user names and synthetic method
names:
$ cat Foo.java
class Foo {
public static void main (String[] args) {}
{}
void block$(){}
}
$ java Foo
Exception in thread "main" java.lang.ClassFormatError: Foo (Repeative method name/signature)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
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:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
(Review ID: 120405)
======================================================================