[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiling with jikes > 1.13
From: |
Mark Wielaard |
Subject: |
Re: Compiling with jikes > 1.13 |
Date: |
06 Feb 2002 15:40:39 +0100 |
Hi,
On Tue, 2002-02-05 at 22:08, Tom Tromey wrote:
>
> Using the runtime verifier in this situation would be hard, because
> you'd have to convince libgcj to load the bytecode for various java.*
> classes, which are preloaded.
The attached program tries to do it anyway. And I get a lot of verify
errors when using this verifier on classes generated with jikes 1.15.
But as you can see from the attached output I also got a lot of other
errors that indicate that libgcj doesn't like what I am doing :)
Besides Object, Class and ClassLoader I had to remove the following
classes since they seemed to completely hang the verifier!
java/lang/reflect/Proxy*.class
java/util/AbstractMap\$1.class
java/util/AbstractMap\$3.class
java/util/Collections$7.class
java/util/Collections\$7.class
java/util/Collections$SingletonMap.class
java/util/Collections\$SingletonMap.class
java/util/Collections\$SynchronizedMap.class
java/util/WeakHashMap\$WeakEntrySet.class
java/util/zip/DeflaterHuffman.class
java/util/TreeMap\$SubMap.class
java/text/RuleBasedCollator.class
gnu/java/awt/peer/gtk/GtkComponentPeer.class
I am going to play a bit more with this to see if I can see were some of
the other errors come from to better understand what libgcj is doing and
wether I am not feeding you completely bogus data.
Cheers,
Mark
import java.io.*;
public class VerifyClass extends ClassLoader
{
public static void main(String args[])
{
if (args.length == 1)
{
System.out.println("Verifying: " + args[0]);
try
{
new VerifyClass().verify(args[0]);
}
catch (IOException ioe)
{
System.err.println(ioe);
}
}
else
System.out.println("argument must be a class file");
}
void verify(String classFile) throws IOException
{
InputStream is = new FileInputStream(classFile);
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buf = new byte[2048];
int read = is.read(buf);
while(read > 0)
{
os.write(buf, 0, read);
read = is.read(buf);
}
byte[] data = os.toByteArray();
try
{
Class c = defineClass(data, 0, data.length);
resolveClass(c);
}
catch(Error e)
{
System.err.println(e);
}
}
}
java.lang.VerifyError: verification failed at PC 31 in
java.lang.String:toCharArray(()[C): incompatible type on stack
java.lang.VerifyError: verification failed at PC 18 in
java.io.ObjectInputStream:resolveClass((Ljava.io.ObjectStreamClass;)Ljava.lang.Class;):
incompatible type on stack
java.lang.IncompatibleClassChangeError: java.util.RandomAccessSubList
java.lang.IncompatibleClassChangeError: java.util.Hashtable$HashEntry
java.lang.VerifyError: verification failed at PC 224 in
java.util.TimeZone:getTimeZone((Ljava.lang.String;)Ljava.util.TimeZone;):
incompatible return type
java.lang.VerifyError: verification failed at PC 106 in
java.util.ResourceBundle:tryBundle((Ljava.lang.String;Ljava.util.Locale;Ljava.lang.ClassLoader;Ljava.util.ResourceBundle;Ljava.util.HashMap;)Ljava.util.ResourceBundle;):
incompatible type on stack
java.lang.VerifyError: verification failed at PC 165 in
java.util.Calendar:getInstance((Ljava.util.TimeZone;Ljava.util.Locale;)Ljava.util.Calendar;):
incompatible return type
java.lang.IncompatibleClassChangeError: java.util.HashMap$HashEntry
java.lang.IncompatibleClassChangeError: java.util.Collections$3
java.lang.IncompatibleClassChangeError: java.util.Collections$4
java.lang.IncompatibleClassChangeError: java.util.Collections$5
java.lang.IncompatibleClassChangeError: java.util.Collections$6
java.lang.VerifyError: verification failed at PC 8 in
java.util.Collections$SingletonSet:iterator(()Ljava.util.Iterator;):
incompatible return type
java.lang.IncompatibleClassChangeError: java.util.Collections$SynchronizedList
java.lang.IncompatibleClassChangeError:
java.util.Collections$SynchronizedRandomAccessList
java.lang.IncompatibleClassChangeError:
java.util.Collections$SynchronizedListIterator
java.lang.IncompatibleClassChangeError: java.util.Collections$SynchronizedSet
java.lang.IncompatibleClassChangeError:
java.util.Collections$SynchronizedSortedMap
java.lang.IncompatibleClassChangeError:
java.util.Collections$SynchronizedSortedSet
java.lang.IncompatibleClassChangeError: java.util.Collections$UnmodifiableList
java.lang.IncompatibleClassChangeError:
java.util.Collections$UnmodifiableRandomAccessList
java.lang.IncompatibleClassChangeError:
java.util.Collections$UnmodifiableListIterator
java.lang.IncompatibleClassChangeError:
java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
java.lang.IncompatibleClassChangeError: java.util.Collections$UnmodifiableSet
java.lang.IncompatibleClassChangeError:
java.util.Collections$UnmodifiableSortedMap
java.lang.IncompatibleClassChangeError:
java.util.Collections$UnmodifiableSortedSet
java.lang.IncompatibleClassChangeError: java.util.zip.ZipFile
java.lang.IncompatibleClassChangeError: java.util.zip.ZipOutputStream
java.lang.IncompatibleClassChangeError: java.util.zip.DeflaterEngine
java.lang.IncompatibleClassChangeError: java.util.zip.DeflaterPending
java.lang.InternalError: unexpected exception during linking:
java.lang.ClassNotFoundException: java.util.zip.DeflaterHuffman
java.lang.InternalError: unexpected exception during linking:
java.lang.ClassNotFoundException: java.util.zip.DeflaterHuffman
java.lang.IncompatibleClassChangeError: java.util.zip.ZipInputStream
java.lang.IncompatibleClassChangeError: java.util.zip.GZIPInputStream
java.lang.IncompatibleClassChangeError: java.util.zip.GZIPOutputStream
java.lang.IncompatibleClassChangeError: java.util.LinkedHashMap$LinkedHashEntry
java.lang.IncompatibleClassChangeError: java.util.TreeMap$Node
java.lang.VerifyError: verification failed at PC 54 in
java.net.InetAddress:checkCacheFor((Ljava.lang.String;)[Ljava.net.InetAddress;):
array required
java.lang.VerifyError: verification failed at PC 82 in
java.net.URLDecoder:decode((Ljava.lang.String;Ljava.lang.String;)Ljava.lang.String;):
array type expected
java.lang.VerifyError: verification failed at PC 7 in
java.security.Policy:<clinit>(()V): incompatible type on stack
java.lang.VerifyError: verification failed at PC 47 in
java.security.KeyPairGenerator:getInstance((Ljava.lang.String;Ljava.lang.String;Ljava.security.Provider;)Ljava.security.KeyPairGenerator;):
incompatible type on stack
java.lang.VerifyError: verification failed at PC 47 in
java.security.Signature:getInstance((Ljava.lang.String;Ljava.lang.String;Ljava.security.Provider;)Ljava.security.Signature;):
incompatible type on stack
java.lang.VerifyError: verification failed at PC 37 in
java.security.Identity:hashCode(()I): incompatible type on stack
java.lang.VerifyError: verification failed at PC 321 in
java.text.DateFormat:computeInstance((IILjava.util.Locale;ZZ)Ljava.text.DateFormat;):
incompatible return type
java.lang.VerifyError: verification failed at PC 58 in
java.text.NumberFormat:computeInstance((Ljava.util.Locale;Ljava.lang.String;Ljava.lang.String;)Ljava.text.NumberFormat;):
incompatible return type
java.lang.VerifyError: verification failed at PC 961 in
java.text.SimpleDateFormat:parse((Ljava.lang.String;Ljava.text.ParsePosition;)Ljava.util.Date;):
array type expected
java.lang.VerifyError: verification failed at PC 163 in
java.text.AttributedString:<init>((Ljava.text.AttributedCharacterIterator;II[Ljava.text.AttributedCharacterIterator$Attribute;)V):
incompatible type on stack
java.lang.VerifyError: verification failed at PC 20 in
java.text.BreakIterator:getCharacterInstance((Ljava.util.Locale;)Ljava.text.BreakIterator;):
incompatible return type
java.lang.VerifyError: verification failed at PC 28 in
java.text.Collator:getInstance((Ljava.util.Locale;)Ljava.text.Collator;):
incompatible return type
java.lang.VerifyError: verification failed at PC 18 in
java.awt.image.ColorModel:getRGBdefault(()Ljava.awt.image.ColorModel;):
incompatible return type
java.lang.InternalError: unexpected exception during linking:
java.lang.NullPointerException
java.lang.VerifyError: verification failed at PC 34 in
java.awt.Component:getGraphicsConfigurationImpl(()Ljava.awt.GraphicsConfiguration;):
incompatible type on stack
java.lang.IncompatibleClassChangeError: java.awt.Container$GfxPaintVisitor
java.lang.IncompatibleClassChangeError: java.awt.Container$GfxPrintVisitor
java.lang.IncompatibleClassChangeError: java.awt.Container$GfxPaintAllVisitor
java.lang.IncompatibleClassChangeError: java.awt.Container$GfxPrintAllVisitor
java.lang.VerifyError: verification failed at PC 2 in
java.awt.geom.RectangularShape:setFrame((Ljava.awt.geom.Rectangle2D;)V):
incompatible type on stack
java.lang.InternalError: unexpected exception during linking:
java.lang.NullPointerException
java.lang.VerifyError: verification failed at PC 2 in
java.awt.Window:<init>((Ljava.awt.Frame;)V): incompatible type on stack
java.lang.VerifyError: verification failed at PC 12 in
java.beans.beancontext.BeanContextChildSupport:<init>((Ljava.beans.beancontext.BeanContextChild;)V):
incompatible type on stack
java.lang.VerifyError: verification failed at PC 7 in
java.rmi.server.RMISocketFactory:<clinit>(()V): incompatible type on stack
java.lang.VerifyError: verification failed at PC 20 in
java.rmi.server.ObjID:<init>(()V): incompatible type on stack
java.lang.LinkageError: class gnu.java.io.decode.Decoder already loaded
java.lang.LinkageError: class gnu.java.io.decode.Decoder already loaded
java.lang.LinkageError: class gnu.java.io.decode.Decoder already loaded
java.lang.LinkageError: class gnu.java.io.decode.Decoder already loaded
java.lang.LinkageError: class gnu.java.io.decode.Decoder already loaded
java.lang.LinkageError: class gnu.java.io.encode.Encoder already loaded
java.lang.LinkageError: class gnu.java.io.encode.Encoder already loaded
java.lang.LinkageError: class gnu.java.io.encode.Encoder already loaded
java.lang.LinkageError: class gnu.java.io.encode.Encoder already loaded
java.lang.LinkageError: class gnu.java.io.encode.Encoder already loaded
java.lang.InternalError: unexpected exception during linking:
java.lang.NullPointerException
java.lang.InternalError: unexpected exception during linking:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: unexpected exception during linking:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkToggleButtonPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.LinkageError: class gnu.java.awt.peer.gtk.GtkGenericPeer already
loaded
java.lang.LinkageError: class gnu.java.awt.peer.gtk.GtkGenericPeer already
loaded
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkToggleButtonPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkContainerPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class null:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkTextComponentPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: Unexpected exception while defining class
gnu.java.awt.peer.gtk.GtkTextComponentPeer: java.lang.ClassNotFoundException:
gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.InternalError: unexpected exception during linking:
java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkComponentPeer
java.lang.VerifyError: verification failed at PC 43 in
gnu.java.rmi.server.UnicastConnectionManager:getInstance((Ljava.lang.String;ILjava.rmi.server.RMIClientSocketFactory;)Lgnu.java.rmi.server.UnicastConnectionManager;):
incompatible type on stack
java.lang.InternalError: unexpected exception during linking:
java.lang.NullPointerException
java.lang.InternalError: unexpected exception during linking:
java.lang.NullPointerException
- Compiling with jikes > 1.13, Mark Wielaard, 2002/02/04
- Re: Compiling with jikes > 1.13, Chris Gray, 2002/02/04
- Re: Compiling with jikes > 1.13, John Leuner, 2002/02/04
- Re: Compiling with jikes > 1.13, Stuart Ballard, 2002/02/04
- Re: Compiling with jikes > 1.13, Etienne M. Gagnon, 2002/02/04
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/04
- Re: Compiling with jikes > 1.13, Eric Blake, 2002/02/04
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/05
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/05
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13,
Mark Wielaard <=
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Mark Wielaard, 2002/02/06
- Re: Compiling with jikes > 1.13, Tom Tromey, 2002/02/06