BZ #160: CACAO crashes in VMClass when building OpenJDK

Status fields:

creation_ts:2011-08-02 20:30
version:default branch
# 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/
-sourcepath /home/andrew/builder/icedtea7/
./../../src/share/classes -bootclasspath /home/andrew/builder/icedtea7/
boot/classes:/home/andrew/builder/icedtea7/bootstrap/jdk1.6.0/jre/lib/rt.jar -d
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.Class.getDeclaredFields()[Ljava/lang/reflect/Field;(
        at org.eclipse.jdt.internal.compiler.util.Messages.initializeMessages(Ljava/lang
        at org.eclipse.jdt.internal.compiler.Compiler.compile([Lorg/eclipse/jdt/internal
        at org.eclipse.jdt.internal.compiler.batch.Main.compile([Ljava/lang/String;)Z(Ma
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/ [0x7f876fd0863e]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/
LOG: [0x00007f877131c720]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/
LOG: [0x00007f877131c720] /lib64/ [0x7f8770d15d10]
LOG: [0x00007f877131c720] /lib64/ [0x7f87700f30e4]
LOG: [0x00007f877131c720] /home/andrew/build/cacao/lib/
LOG: [0x00007f877131c720]
/home/andrew/build/cacao/lib/ [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 <>
date:        Tue Jun 21 12:03:02 2011 +0200
summary:     enabled debug output for ABC code

pulling from

Comment #1 by 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 on 2011-08-03 18:20:39

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

Comment #3 by 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 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 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 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 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 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 on 2012-02-24 17:42:09

Interesting, but unfortunately not reproducible.