[kaffe] 1.1.5: Crash on startup

Dalibor Topic robilad at kaffe.org
Mon May 2 03:00:01 PDT 2005

Bernhard Rosenkraenzer wrote:
> Seen on Linux 2.6.12-rc3, gcc 3.4.3, binutils, glibc 2.3.5:
> [arklinux at localhost ~]$ cat Test.java
> class Test {
>         public static void main(String[] args) {
>                 System.out.println("Bush sucks!");
>         }
> }
> [arklinux at localhost ~]$ javac Test.java
> [arklinux at localhost ~]$ java Test
> Segmentation fault (core dumped)
> [arklinux at localhost ~]$ gdb /usr/kaffe/jre/bin/kaffe-bin core.341
> GNU gdb Ark Linux (6.3-2ark)
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found)
> Using host libthread_db library "/lib/libthread_db.so.1".
> Core was generated by `/usr/kaffe/jre/bin/kaffe-bin Test'.
> Program terminated with signal 11, Segmentation fault.

Moin Bero,

thank you very much for your bug report.

I've tried reproducing the bug, but the test works for me with CVS head 
on a different kernel, gcc & bintuils version, afaict, on Debian-sarge :(

How does make check behave in your case? Do all tests fail?

> #0  0xb7eb1574 in KaffeVM_safeCallMethodA ()
>    from /usr/kaffe/jre/lib/i386/libkaffevm-1.1.5.so
> (gdb)

The function is defined in kaffe/kaffevm/support.c, and it looks like this:

KaffeVM_safeCallMethodA(Method* meth, void* func, void* obj, jvalue* 
args, jvalue* ret,
                         int promoted)

   KaffeVM_callMethodA(meth, func, obj, args, ret, promoted);


so chances are the BEGIN/END macros from kaffe/kaffevm/jni/jni-i.h do 
something that breaks.

> Any ideas?

Well, you could try checking if there are any suspicious warnings 
emitted by the compiler for the two files. I don't see any with CVS 
head, but that one's already three weeks ahead of 1.1.5 ... In any case, 
it would be interesting to hear if the problems persist with CVS head.

If nothing helps, you could try building with debugging flags and 
according to FAQ/FAQ.debugging use

KAFFE_DEBUG=gdb kaffe Test
(gdb) handle SIG40 noprint
(gdb) handle SIG39 noprint
(gdb) run

to get a better view on what's failing. For hands on 
assistance/collaborative debugging, drop into #kaffe on irc.freenode.org :)

dalibor topic

More information about the kaffe mailing list