[Kaffe] Illegal Instruction generated by kaffe JIT?

Alexandre Oliva oliva at dcc.unicamp.br
Mon Mar 29 03:49:19 PST 1999

On Mar 29, 1999, Moses DeJong <dejong at cs.umn.edu> wrote:

> findNat 0x200020
> Cannot access memory at address 0x1c.

> findNat 0x2b283c
> tcl/lang/ArrayObject.dereferenceArrayDims;(Ltcl/lang/Interp;Ljava/lang/Object;ILtcl/lang/TclObject;
> )Ljava/lang/Object;: 2b27f0 2b2f18

> So it seems like the problem is in the JIT compiled version of the
> tcl/lang/ArrayObject.dereferenceArrayDims() method. Here is the
> implementation in Java.

Either that or the method at 0x200020 was inadvertently garbage
collected (unlikely, but possible).  You may run it with -verbosejit
and check whether any method is JIT compiled into that address.  BTW,
is the error reproducible or it's a Heisenbug?

> Does anyone know how I can focus the jit problem down to the Java
> command that is compiled into the illegal instruction? 

You may disassemble the region around the error in the failing frame,
and the whole caller method, to try to figure out where's the problem:

disassemble 0x200000 0x200080
disass 0x2b27f0 0x2b2f18

> Is there some sort of "jit debug" option that will include this info
> into the executable so that gdb can read it?

Unfortunately not.  This is one of the long-standing issues in my
to-do list, but that I've never got the opportunity to start thinking
of :-(

Alexandre Oliva http://www.dcc.unicamp.br/~oliva IC-Unicamp, Brasil
{oliva,Alexandre.Oliva}@dcc.unicamp.br  aoliva@{acm.org,computer.org}
*** E-mail about software projects will be forwarded to mailing lists

More information about the kaffe mailing list