This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libgcj/22463] New: libgcj verifier attempts to resolve dependent classes
- From: "mckinlay at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jul 2005 18:06:25 -0000
- Subject: [Bug libgcj/22463] New: libgcj verifier attempts to resolve dependent classes
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The libgcj verifier attempts to resolve dependent classes using Class.forName().
This causes ClassNotFoundException to be thrown too early - the exception should
occur when an attempt to use the missing class is made, not during verification.
public class Test
{
Missing a()
{
return new Missing();
}
public static void main(String[] args)
{
System.out.println ("Missing not needed.");
}
}
public class Missing {}
$ gcj -C Missing.java Test.java
$ rm Missing.class
$ java -verify Test
Missing not needed.
$ gij -noverify Test
Missing not needed.
$ gij -verify Test
Exception in thread "main" java.lang.NoClassDefFoundError: Test
at java.lang.Class.initializeClass (natClass.cc:715)
at java.lang.Class.forName (Class.h:582)
at gnu.java.lang.MainThread.run (MainThread.java:95)
Caused by: java.lang.ClassNotFoundException: Missing not found in
gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:./],
parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass (URLClassLoader.java:948)
at java.lang.ClassLoader.loadClass (ClassLoader.java:317)
at java.lang.ClassLoader.loadClass (ClassLoader.java:260)
at java.lang.Class.forName (natClass.cc:88)
at java.lang.Class.initializeClass (natClass.cc:709)
...2 more
--
Summary: libgcj verifier attempts to resolve dependent classes
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: libgcj
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: mckinlay at redhat dot com
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22463