This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libgcj/22463] New: libgcj verifier attempts to resolve dependent classes


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]