BZ #160: CACAO crashes in VMClass when building OpenJDK

Status fields:

creation_ts:2011-08-02 20:30
component:reflection
version:default branch
rep_platform:All
op_sys:Linux
bug_status:RESOLVED
resolution:WORKSFORME
reporter:gnu_andrew@member.fsf.org
# Running javac:
/home/andrew/builder/icedtea7/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=1536
-J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m
-J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -Xlint:-path -source 7 -target 7
-encoding ascii -Xbootclasspath:/home/andrew/builder/icedtea7/openjdk.build-boot/classes
-sourcepath /home/andrew/builder/icedtea7/generated.build:../../../src/solaris/classes:.
./../../src/share/classes -bootclasspath /home/andrew/builder/icedtea7/openjdk.build-
boot/classes:/home/andrew/builder/icedtea7/bootstrap/jdk1.6.0/jre/lib/rt.jar -d
/home/andrew/builder/icedtea7/openjdk.build-boot/classes
@/home/andrew/builder/icedtea7/openjdk.build-boot/tmp/sun/java.security/.classes.list
LOG: [0x00007f877131c720] We received a SIGSEGV and tried to handle it, but we were
LOG: [0x00007f877131c720] unable to find a Java method at:
LOG: [0x00007f877131c720]
LOG: [0x00007f877131c720] PC=0x00007f87700f30e4
LOG: [0x00007f877131c720]
LOG: [0x00007f877131c720] Dumping the current stacktrace:
        at
java.lang.VMClass.getDeclaredFields(Ljava/lang/Class;Z)[Ljava/lang/reflect/Field;(Native
Method)
        at
java.lang.Class.getDeclaredFields(Z)[Ljava/lang/reflect/Field;(Class.java:481)
        at java.lang.Class.getDeclaredFields()[Ljava/lang/reflect/Field;(Class.java:476)
        at org.eclipse.jdt.internal.compiler.util.Messages.initializeMessages(Ljava/lang
/String;Ljava/lang/Class;)V(Messages.java:193)
        at
org.eclipse.jdt.internal.compiler.util.Messages.<clinit>()V(Messages.java:118)
        at org.eclipse.jdt.internal.compiler.Compiler.compile([Lorg/eclipse/jdt/internal
/compiler/env/ICompilationUnit;)V(Compiler.java:419)
        at
org.eclipse.jdt.internal.compiler.batch.Main.performCompilation()V(Main.java:3716)
        at org.eclipse.jdt.internal.compiler.batch.Main.compile([Ljava/lang/String;)Z(Ma
in.java:1666)
        at
org.eclipse.jdt.internal.compiler.batch.Main.main([Ljava/lang/String;)V(Main.java:1379)
LOG: [0x00007f877131c720] vm_abort: WARNING, port me to C++ and use os::abort() instead.
LOG: [0x00007f877131c720] Exiting...
LOG: [0x00007f877131c720] Backtrace (10 stack frames):
LOG: [0x00007f877131c720]
/home/andrew/build/cacao/lib/libjvm.so(_ZN2os15print_backtraceEv+0x1e) [0x7f876fd0863e]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/libjvm.so(vm_abort+0xb0)
[0x7f876fd15c00]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/libjvm.so(methodtree_find+0xaa)
[0x7f876fd2cb3a]
LOG: [0x00007f877131c720]
/home/andrew/build/cacao/lib/libjvm.so(stacktrace_stackframeinfo_add+0x138)
[0x7f876fd3f008]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/libjvm.so(trap_handle+0xfc)
[0x7f876fd4282c]
LOG: [0x00007f877131c720] /lib64/libpthread.so.0(+0xfd10) [0x7f8770d15d10]
LOG: [0x00007f877131c720] /lib64/libc.so.6(+0x11f0e4) [0x7f87700f30e4]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/libjvm.so(+0x911f9)
[0x7f876fd101f9]
LOG: [0x00007f877131c720]
/home/andrew/build/cacao/lib/libjvm.so(class_get_declaredfields+0x112) [0x7f876fcf9ad2]
LOG: [0x00007f877131c720] [0x7f877122fa3e]
/home/andrew/build/cacao-jdk/bin/javac: line 2: 24470 Aborted                 (core
dumped) /home/andrew/build/cacao/bin/cacao -classpath /usr/share/eclipse-ecj/ecj.jar
-Xmx1024m org.eclipse.jdt.internal.compiler.batch.Main "$@"
make[5]: *** [.compile.classlist] Error 134

It dumped a core but it's incomplete:

BFD: Warning: /mnt/builder/icedtea7/openjdk-boot/jdk/make/java/security/core is
truncated: expected core file size >= 23842816, found: 10514432.
[New Thread 24470]
[New Thread 24471]
[New Thread 24472]
[New Thread 24473]
Failed to read a valid object file image from memory.
Core was generated by `/home/andrew/build/cacao/bin/cacao -classpath /usr/share/eclipse-
ecj/ecj.jar -X'.

This is with tip:

changeset:   9421:4763cca44fb2
branch:      abc_fixes
tag:         tip
user:        Alexander Jordan <ajordan@complang.tuwien.ac.at>
date:        Tue Jun 21 12:03:02 2011 +0200
summary:     enabled debug output for ABC code

pulling from http://mips.complang.tuwien.ac.at/hg/cacao/

Comment #1 by stefan@complang.tuwien.ac.at on 2011-08-03 09:22:07

Please don't use named branches other than "default". They are mostly used as dumping
grounds for immature projects.

Comment #2 by gnu_andrew@member.fsf.org on 2011-08-03 18:20:39

I'm not.  This is what I get from pulling from the main branch.

Comment #3 by ajordan@complang.tuwien.ac.at on 2011-08-03 20:36:36

(In reply to comment #1)
> Please don't use named branches other than "default". They are mostly used as
> dumping grounds for immature projects.
>

As I understand it, the hg tip is a tag and independent from the checked out branch. So
this just means that Andrew's local repo is up to date.

Comment #4 by gnu_andrew@member.fsf.org on 2011-08-03 20:44:33

Yeah, AFAIK I've not pulled anything over than the main branch, though I admit to having
never understood Mercurial branches.  We stayed away from them with IcedTea because they
don't seem to work well.

Comment #5 by stefan@complang.tuwien.ac.at on 2011-08-03 21:36:31

Hehe. In almost every Mercurial tutorial, you can (and should) replace most occurrences
of "tip" with "default" and be off so much the better.

Comment #6 by stefan@complang.tuwien.ac.at on 2011-08-04 15:01:07

Now I'm finally getting what you were saying. So are you bootstrapping icedtea7 with an
icedtea6/CACAO build? When I try to do that, I get OOM Exceptions.

Comment #7 by gnu_andrew@member.fsf.org on 2011-08-04 21:24:23

No, with a GNU Classpath CVS and CACAO build.  Sorry I thought I said that in the
original post, but looks like I just posted the log.  I now have JamVM able to do it
with the same Classpath build FWIW.

Comment #8 by stefan@complang.tuwien.ac.at on 2011-08-06 10:49:15

Andrew, do you have any instructions for bootstrapping icedtea with CACAO/classpath? I
just can't get this to work.

Comment #9 by stefan@complang.tuwien.ac.at on 2012-02-24 17:42:09

Interesting, but unfortunately not reproducible.