zafena development

July 30, 2012

Robert Lougher have updated JamVM to work on the new Raspberry PI armhf "Raspbian" image, thank you Robert! You can compile and test this latest JamVM version from source on a Raspberry PI by running the following lines inside a terminal:

sudo apt-get install openjdk-6-jdk git libtool autoconf automake

git clone git://git.code.sf.net/p/jamvm/code jamvm

cd jamvm

./autogen.sh --with-java-runtime-library=openjdk6

make

mkdir /usr/lib/jvm/java-6-openjdk-armhf/jre/lib/arm/jamvm

sudo cp src/.libs/libjvm.so /usr/lib/jvm/java-6-openjdk-armhf/jre/lib/arm/jamvm/

sudo sed -i 's#-jamvm ERROR#-jamvm KNOWN#' /usr/lib/jvm/java-6-openjdk-armhf/jre/lib/arm/jvm.cfg

java -jamvm -version

java version "1.6.0_24"OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-2+rpi1)

JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching)

I have update IcedTea6 1.12 and IcedTea7 2.3 release branches to include this updated version of JamVM. Distributions like Debian/Fedora/Ubuntu/Arch and Raspbian will get this new work when they update IcedTea to include the next IcedTea release or security update. This is the first JamVM + OpenJDK update in 2012, this update also include support for JamVM to run the QT-Jambi GUI toolkit.

4 Comments »

  1. I tried this build and ran a test with jboss as 7. Here is the output
    jmm_GetBoolAttribute: Unknown attribute 24
    Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logmanager/LogManager$1
    at org.jboss.logmanager.LogManager.(LogManager.java:51)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)

    I tried the same script with the default OpenJDK jvm and it all starts fine, if slowly.

    Comment by John — August 3, 2012 @ 00:19

  2. Hi John.

    The best way to report JamVM issues is to send a mail to the jamvm-general mailinglist and include a step by step command list how to reproduce the bug, you mentioned that you used a script, please attach it to the mail:
    https://lists.sourceforge.net/lists/listinfo/jamvm-general

    The error log shows two different kind of issues:
    issue a) jmm_GetBoolAttribute: Unknown attribute 24
    this is a warning: jboss tried to probe a jvm metric using a hotspot specific interface. you would get the same warning using other non hotspot JVM like for instace cacao.

    issue b) Exception in thread “main” java.lang.NoClassDefFoundError: org/jboss/logmanager/LogManager$1
    at org.jboss.logmanager.LogManager.(LogManager.java:51)
    This looks like the jar containing the LogManager class is not found on the classpath, it is possibly a classloader issue/difference in JamVM compared to HotSpot so please give step by step instructions on how to launch jboss to reproduce this bug using jamvm to the jamvm-general mailinglist.

    cheers
    Xerxes

    Comment by xerxes — August 3, 2012 @ 12:27

  3. Hi,

    with the above installation procedure, we have got following error

    java: relocation error: /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so: symbol JVM_FindClassFromCaller, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference

    Please help me out.....

    Thanks in advance

    Comment by eswar — May 21, 2015 @ 13:23

  4. hi eswar

    libjava.so started to require this new JVM_FindClassFromCaller symbol in libjvm.so after a "security" update in october 2014
    http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/3f77d43e30ae

    The security change broke jamvm, cacao and avian
    i have filed patches for all three jvm to fix the issue.
    http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-October/030043.html

    The issue has been fixed using jamvm latest git source tree
    http://sourceforge.net/p/jamvm/code/ci/8d50daba41624d9d94ff20b5abbfb9d419591c5e/

    In your case you simply need to recompile jamvm using the git sourcetree stored at sourceforge.
    http://sourceforge.net/p/jamvm/code/ci/master/tree/

    I have updated the tutorial to reflect the move of the jamvm git master from berlios to sourceforge.

    Comment by xerxes — May 21, 2015 @ 14:37

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress