Re: [Jamvm-general] Starting JamVM with OpenJDK rt.jar
Brought to you by:
rlougher
From: Frieder B. <ber...@go...> - 2016-04-29 08:50:45
|
The installation guide for JamVM states, that you need a normal openJDK build, in which you replace the libjvm.so with the one produced by the JamVM build. This way, one uses the starting executable of the openJDK and not the one of JamVM. If you use GNU classpath, the starting executable of JamVM is used. I would like to do the same while using the java *.class files of openJDK. I was able to get the classloading started (using a simple HelloWorld), but it stops somewhere after loading java/security/Guard (list of the classes that are loaded is provided below) I always get a segfault in src/thread.c in getExecEnv (): threadSelf returns a null pointer even though it has some valid value before. The same libjvm.so used inside openJDK runs fine, but for the project I am working on, JamVM should be the starting point. With rt.jar I meant the standard Java classes, that are provided by openJDK. I'm confused why the null pointer occurs and if it is possible what I try to do. Classname loaded: java/lang/ClassLoader Classname loaded: java/lang/Class Classname loaded: java/io/Serializable Classname loaded: java/lang/Object Classname loaded: java/lang/reflect/GenericDeclaration Classname loaded: java/lang/reflect/AnnotatedElement Classname loaded: java/lang/reflect/Type Classname loaded: java/lang/String Classname loaded: java/lang/Comparable Classname loaded: java/lang/CharSequence Classname loaded: java/lang/Cloneable Classname loaded: java/lang/StackTraceElement Classname loaded: java/lang/Throwable Classname loaded: java/lang/BootstrapMethodError Classname loaded: java/lang/LinkageError Classname loaded: java/lang/Error Classname loaded: java/lang/InternalError Classname loaded: java/lang/VirtualMachineError Classname loaded: java/lang/ClassFormatError Classname loaded: java/lang/NoSuchFieldError Classname loaded: java/lang/IncompatibleClassChangeError Classname loaded: java/lang/OutOfMemoryError Classname loaded: java/lang/NoSuchMethodError Classname loaded: java/lang/InstantiationError Classname loaded: java/lang/IllegalAccessError Classname loaded: java/lang/ClassCastException Classname loaded: java/lang/RuntimeException Classname loaded: java/lang/Exception Classname loaded: java/lang/StackOverflowError Classname loaded: java/lang/ArithmeticException Classname loaded: java/lang/AbstractMethodError Classname loaded: java/lang/ArrayStoreException Classname loaded: java/lang/NullPointerException Classname loaded: java/lang/NoClassDefFoundError Classname loaded: java/lang/UnsatisfiedLinkError Classname loaded: java/lang/InterruptedException Classname loaded: java/lang/InstantiationException Classname loaded: java/lang/ReflectiveOperationException Classname loaded: java/lang/ClassNotFoundException Classname loaded: java/lang/IllegalAccessException Classname loaded: java/lang/IllegalArgumentException Classname loaded: java/lang/NegativeArraySizeException Classname loaded: java/lang/IllegalThreadStateException Classname loaded: java/lang/IllegalMonitorStateException Classname loaded: java/lang/ArrayIndexOutOfBoundsException Classname loaded: java/lang/IndexOutOfBoundsException Classname loaded: java/lang/StringIndexOutOfBoundsException Classname loaded: sun/reflect/UnsafeStaticFieldAccessorImpl Classname loaded: sun/reflect/UnsafeFieldAccessorImpl Classname loaded: sun/reflect/FieldAccessorImpl Classname loaded: sun/reflect/FieldAccessor Classname loaded: sun/reflect/MagicAccessorImpl Classname loaded: sun/reflect/ConstantPool Classname loaded: java/security/PrivilegedActionException Classname loaded: sun/reflect/MethodAccessorImpl Classname loaded: sun/reflect/MethodAccessor Classname loaded: sun/reflect/ConstructorAccessorImpl Classname loaded: sun/reflect/ConstructorAccessor Classname loaded: java/nio/Buffer Classname loaded: java/nio/DirectByteBuffer Classname loaded: sun/nio/ch/DirectBuffer Classname loaded: java/nio/MappedByteBuffer Classname loaded: java/nio/ByteBuffer Classname loaded: java/io/ObjectStreamField Classname loaded: java/lang/Thread Classname loaded: java/lang/Runnable Classname loaded: java/lang/ThreadGroup Classname loaded: java/lang/Thread$UncaughtExceptionHandler Classname loaded: java/lang/System Classname loaded: java/lang/RuntimePermission Classname loaded: java/security/BasicPermission Classname loaded: java/security/Permission Classname loaded: java/security/Guard 2016-04-28 18:07 GMT+02:00 Andrew Hughes <gnu...@re...>: > ----- Original Message ----- > > Hey Guys, > > > > the Readme for JamVM describes two ways to use it, one with Gnuclasslib > and > > one with openJDK. > > > > Even so, is it possible to start the JamVM executable and tell it where > the > > *.class-files of the openJDK are to reduce the overhead of IcedTea? > > I tried it, but only get the following message on the terminal: > > Exception occurred while VM initialising. > > java/lang/NoClassDefFoundError: java/lang/ClassLoader > > > > Any help would be appreciated! > > > > Frieder > > > > > ------------------------------------------------------------------------------ > > Find and fix application performance issues faster with Applications > Manager > > Applications Manager provides deep performance insights into multiple > tiers > > of > > your business applications. It resolves application problems quickly and > > reduces your MTTR. Get your free trial! > > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > > _______________________________________________ > > Jamvm-general mailing list > > Jam...@li... > > https://lists.sourceforge.net/lists/listinfo/jamvm-general > > > > What "overhead"? IcedTea just builds JamVM and the class library, both > of which you need for a complete JDK. What rt.jar are you trying to use > with it? > -- > Andrew :) > > Senior Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: ed25519/35964222 (hkp://keys.gnupg.net) > Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 > > > |