Avian now raise an abort when accessing Java_java_lang_SecurityManager_currentClassLoader0 using current available IcedTea 2.3.9 OpenJDK 7 packages in Ubuntu 12.04 and 12.10.
Testing using avian git: 6b3a352b383e7bb2793e02d4f6043326aab59a73 2013-05-01 07:08:18
Tested on both armhf (ubuntu 12.10) and i386 (ubuntu 12.04)
I assume this issue is introduce by the new openjdk 7u21 version compared to the openjdk version used about half a year ago when this appletviewer testcase worked.
java -avian-dbg -version
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.04.1)
Avian (build 0.6, )
Testcase that reproduce the issue:
appletviewer -J-avian-dbg
http://oneslime.netStarting program: /usr/bin/appletviewer -J-avian-dbg
http://oneslime.net[Thread debugging using libthread_db enabled]
[New Thread 0xc36b40 (LWP 5893)]
[New Thread 0x4483b40 (LWP 5894)]
[New Thread 0x4cb1b40 (LWP 5901)]
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xc36b40 (LWP 5893)]
0x001111b2 in ?? () from /lib/ld-linux.so.2
(gdb) bt
#0 0x001111b2 in ?? () from /lib/ld-linux.so.2
#1 0x0016f1df in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0x00172825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0x0039bf61 in JVM_CurrentClassLoader () at src/classpath-openjdk.cpp:3649
#4 0x02a52bd4 in Java_java_lang_SecurityManager_currentClassLoader0 ()
from /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/libjava.so
#5 0x003cdabb in vmNativeCall ()
from /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/avian-dbg/libjvm.so
#6 0x0032a16e in vm::dynamicCall (function=0x2a52ba0, arguments=0xc34f00,
argumentsSize=8, returnType=7) at src/avian/x86.h:97
#7 0x003297a8 in call (this=0xb7e00468, function=0x2a52ba0,
arguments=0xc34f00, types=0xc34ee0 "\a\a", count=2, size=8, returnType=7)
at src/vm/system/posix.cpp:782
#8 0x0037cbc0 in invokeNativeSlow (t=0xb7e04c5c, method=0xb422a288,
function=0x2a52ba0) at src/compile.cpp:7758
#9 0x0037cee0 in invokeNative2 (t=0xb7e04c5c, method=0xb422a288)
at src/compile.cpp:7830
#10 0x0037d042 in invokeNative (t=0xb7e04c5c) at src/compile.cpp:7862
#11 0x00c37051 in ?? ()
#12 0xb7e04c5c in ?? ()
Avian build options:
xranby@xranby-ESPRIMO-P7935:~/avian$ cat build-avian.sh
# you may change these two export to match your system
# use i386, x86_64, armhf, armel or ppc here
export ARCH=i386
# use i386, x86_64, ppc or arm here
export JVM_ARCH=i386
# clone and build avian in combination with one existing OpenJDK 7 jdk image
# It takes about 40 minutes to perform this compilation natively on a Raspberry Pi.
#git clone
https://github.com/ReadyTalk/avian.git#cd avian
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-${ARCH} make openjdk=/usr/lib/jvm/java-7-openjdk-${ARCH} mode=debug
# Run the avian test suite to check that your newly built avian pass all expected functionality
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-armhf/ make openjdk=/usr/lib/jvm/java-7-openjdk-armhf/ mode=debug test