Re: [Sablevm-developer] Porting SableVM to ARM: Questions
Brought to you by:
egagnon
From: Etienne M. G. <eti...@uq...> - 2002-12-06 20:46:10
|
Gunda Domlur wrote: > java.lang.ClassNotFoundException: hello.class > at gnu.java.lang.SystemClassLoader.findClass(SystemClassLoader.java:73) > at java.lang.ClassLoader.loadClass(ClassLoader.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:259) > at java.lang.VirtualMachine.main(VirtualMachine.java:79) This is Great new! It means SableVM executes quite a lot of code. [Stack traces are computed in Java, so there's quite a lot of things that are running for the VM to be able to throw an exception with a stack trace on loading a class through a Java based class loader.] Now as to why you get an exception, we should investigate. Mainly, you could add a few System.out.println(...) traces in the class: gnu.java.lang.SystemClassLoader in the method "findClass(...)" This is, of course, located in the sablevm-class-library, in the file: src/gnu/java/lang/SystemClassLoader.java You must recompile, and try running SableVM with the modified class library. It's so much fun when bootstrapping is done, as you can start debugging the Java code instead of the C code... ;-) [Usually this is much easier to do, as you have String concatenation, and automatic int->String conversion in Java without worrying about memory]. I hope this helps. Etienne Gunda Domlur wrote: > Etienne, > > A little progress but my Hello world program still fails. > > I recompiled all the class libraries with jikes 1.15. Now sablevm can't > find the application class. > > The invocation was > > sable-debug -v HelloAppworld.class. > > The java source is > > class HelloWorldApp { > public static void main (String args[]) { > System.out.println("Hello World!"); > } > } > > > /* Expected Output: > Hello World! > */ > > I did compile the hello.java with jikes 1.15. > > Why are we not finding the application class ? Any ideas ? > > Thanks. > -Gunda > > The output from sablevm is as follows. > > > SableVM version 1.0.5 > Copyright (C) 2000-2002 Etienne M. Gagnon <eti...@uq...> and > others. All rights reserved. > > This software comes with ABSOLUTELY NO WARRANTY. This is free > software, and you are welcome to redistribute it under certain > conditions. > > To get the name of all copyright holders and detailed license > information, type "sablevm --license" or look in the directory > "/usr/local/share/sablevm". > > The SableVM web site is located at http://www.sablevm.org/ . > > [verbose jni: JNI_CreateJavaVM] > [verbose gc: allocating initial heap (16777216 bytes)] > [verbose class: loading "java/lang/Object"] > [verbose class: loading "java/io/Serializable"] > [verbose class: loading "java/lang/Cloneable"] > [verbose class: creating "[B"] > [verbose class: loading "java/lang/Class"] > [verbose class: loading "java/lang/StackTraceElement"] > [verbose class: loading "java/lang/reflect/Constructor"] > [verbose class: loading "java/lang/reflect/AccessibleObject"] > [verbose class: loading "java/lang/reflect/Member"] > [verbose class: loading "java/lang/reflect/Field"] > [verbose class: loading "java/lang/reflect/Method"] > [verbose class: loading "java/lang/StringCreator"] > [verbose class: loading "java/lang/VirtualMachine"] > [verbose class: creating "[Z"] > [verbose class: creating "[S"] > [verbose class: creating "[C"] > [verbose class: creating "[I"] > [verbose class: creating "[J"] > [verbose class: creating "[F"] > [verbose class: creating "[D"] > [verbose class: loading "java/lang/ArithmeticException"] > [verbose class: loading "java/lang/RuntimeException"] > [verbose class: loading "java/lang/Exception"] > [verbose class: loading "java/lang/Throwable"] > [verbose class: loading "java/lang/ArrayIndexOutOfBoundsException"] > [verbose class: loading "java/lang/IndexOutOfBoundsException"] > [verbose class: loading "java/lang/ArrayStoreException"] > [verbose class: loading "java/lang/ClassCastException"] > [verbose class: loading "java/lang/IllegalMonitorStateException"] > [verbose class: loading "java/lang/NegativeArraySizeException"] > [verbose class: loading "java/lang/NoSuchFieldException"] > [verbose class: loading "java/lang/NoSuchMethodException"] > [verbose class: loading "java/lang/NullPointerException"] > [verbose class: loading "java/lang/AbstractMethodError"] > [verbose class: loading "java/lang/IncompatibleClassChangeError"] > [verbose class: loading "java/lang/LinkageError"] > [verbose class: loading "java/lang/Error"] > [verbose class: loading "java/lang/ClassCircularityError"] > [verbose class: loading "java/lang/ClassFormatError"] > [verbose class: loading "java/lang/ExceptionInInitializerError"] > [verbose class: loading "java/lang/InternalError"] > [verbose class: loading "java/lang/VirtualMachineError"] > [verbose class: loading "java/lang/NoClassDefFoundError"] > [verbose class: loading "java/lang/NoSuchFieldError"] > [verbose class: loading "java/lang/NoSuchMethodError"] > [verbose class: loading "java/lang/OutOfMemoryError"] > [verbose class: loading "java/lang/UnsatisfiedLinkError"] > [verbose class: loading "java/lang/UnsupportedClassVersionError"] > [verbose class: loading "java/lang/VerifyError"] > [verbose class: loading "java/lang/String"] > [verbose class: loading "java/lang/Comparable"] > [verbose class: loading "java/lang/CharSequence"] > [verbose class: loading "java/util/WeakHashMap"] > [verbose class: loading "java/util/AbstractMap"] > [verbose class: loading "java/util/Map"] > [verbose class: loading "java/lang/VMObject"] > [verbose class: loading "java/util/WeakHashMap$1"] > [verbose class: loading "java/util/WeakHashMap$WeakEntrySet"] > [verbose class: loading "java/util/AbstractSet"] > [verbose class: loading "java/util/AbstractCollection"] > [verbose class: loading "java/util/Collection"] > [verbose class: loading "java/util/Set"] > [verbose class: loading "java/lang/ref/ReferenceQueue"] > [verbose class: loading "java/util/WeakHashMap$WeakBucket"] > [verbose class: loading "java/lang/ref/WeakReference"] > [verbose class: loading "java/lang/ref/Reference"] > [verbose class: creating "[Ljava/util/WeakHashMap$WeakBucket;"] > [verbose class: loading "java/lang/System"] > [verbose class: loading "java/lang/VMSystem"] > [verbosjava.lang.ClassNotFoundException: hello.class > at gnu.java.lang.SystemClassLoader.findClass(SystemClassLoader.java:73) > at java.lang.ClassLoader.loadClass(ClassLoader.java:308) > at java.lang.ClassLoader.loadClass(ClassLoader.java:259) > at java.lang.VirtualMachine.main(VirtualMachine.java:79) > e class: loading "java/lang/Math"] > [verbose class: loading "java/lang/Runtime"] > [verbose class: loading "java/util/Properties"] > [verbose class: loading "java/util/Hashtable"] > [verbose class: loading "java/util/Dictionary"] > [verbose class: loading "java/util/Hashtable$HashEntry"] > [verbose class: loading "java/util/AbstractMap$BasicMapEntry"] > [verbose class: loading "java/util/Map$Entry"] > [verbose class: creating "[Ljava/util/Hashtable$HashEntry;"] > [verbose class: loading "java/util/StringTokenizer"] > [verbose class: loading "java/util/Enumeration"] > [verbose class: creating "[Ljava/lang/String;"] > [verbose class: loading "java/lang/StringBuffer"] > [verbose class: loading "java/lang/VMSecurityManager"] > [verbose class: loading "java/util/WeakHashMap$WeakBucket$WeakEntry"] > [verbose class: loading "java/io/BufferedInputStream"] > [verbose class: loading "java/io/FilterInputStream"] > [verbose class: loading "java/io/InputStream"] > [verbose class: loading "java/io/FileInputStream"] > [verbose class: loading "java/io/FileDescriptor"] > [verbose class: loading "java/io/PrintStream"] > [verbose class: loading "java/io/FilterOutputStream"] > [verbose class: loading "java/io/OutputStream"] > [verbose class: loading "java/io/BufferedOutputStream"] > [verbose class: loading "java/io/FileOutputStream"] > [verbose class: loading "java/io/PrintWriter"] > [verbose class: loading "java/io/Writer"] > [verbose class: loading "java/io/OutputStreamWriter"] > [verbose class: loading "gnu/java/io/EncodingManager"] > [verbose class: loading "java/lang/VMClassLoader"] > [verbose class: loading "gnu/java/io/decode/Decoder8859_1"] > [verbose class: loading "gnu/java/io/decode/DecoderEightBitLookup"] > [verbose class: loading "gnu/java/io/decode/Decoder"] > [verbose class: loading "java/io/Reader"] > [verbose class: creating "[Ljava/lang/Class;"] > [verbose class: creating "[Ljava/lang/Object;"] > [verbose class: loading "gnu/java/io/encode/Encoder8859_1"] > [verbose class: loading "gnu/java/io/encode/EncoderEightBitLookup"] > [verbose class: loading "gnu/java/io/encode/Encoder"] > [verbose class: loading "java/lang/String$CaseInsensitiveComparator"] > [verbose class: loading "java/util/Comparator"] > [verbose class: loading "java/lang/ClassLoader"] > [verbose class: loading "gnu/java/lang/SystemClassLoader"] > [verbose class: loading "java/util/HashMap"] > [verbose class: loading "java/util/HashMap$HashEntry"] > [verbose class: creating "[Ljava/util/HashMap$HashEntry;"] > [verbose class: loading "java/util/HashSet"] > [verbose class: loading "java/security/CodeSource"] > [verbose class: loading "java/security/Policy"] > [verbose class: loading "gnu/java/security/provider/DefaultPolicy"] > [verbose class: loading "java/security/AllPermission"] > [verbose class: loading "java/security/Permission"] > [verbose class: loading "java/security/Guard"] > [verbose class: loading "java/security/Permissions"] > [verbose class: loading "java/security/PermissionCollection"] > [verbose class: loading "java/security/AllPermissionCollection"] > [verbose class: loading "java/security/ProtectionDomain"] > [verbose class: loading "hello/class"] > [verbose class: loading "java/lang/ClassNotFoundException"] > [verbose class: loading "java/io/File"] > [verbose class: loading "java/util/Locale"] > [verbose class: loading "java/lang/Character"] > [verbose class: creating "[Ljava/lang/StackTraceElement;"] > [verbose class: loading "java/lang/Integer"] > [verbose class: loading "java/lang/Number"] > [verbose gc: total gc time = 0 sec 0 usec] > > > > > > > > > _________________________________________________________________ > STOP MORE SPAM with the new MSN 8 and get 2 months FREE* > http://join.msn.com/?page=features/junkmail > > > -- Etienne M. Gagnon http://www.info.uqam.ca/~egagnon/ SableVM: http://www.sablevm.org/ SableCC: http://www.sablecc.org/ |