[kaffe] kaffe (1.0.7 and CVS) problem with jython
tullmann at cs.utah.edu
Fri Sep 27 10:16:23 PDT 2002
> My task is to get the program back to running on a free JVM, and
> Kaffe seems to be the best alternative now.
Cool! Its good to have someone pushing for features needed by other
> This piece causes no errors on the commercial JVM's (sun's jdk 1.3.1
> & 1.4), so apparently there's something missing in Kaffe. Any idea
> what it is, and what I could do about it?
That is odd. I don't think anything interesting has happened in
recent JDKs with support for Cloneable, so I doubt that's the real
problem... You're sure that "MediaserverFiler$Group" is really
Cloneable? (Perhaps the error is elsewhere, and other VMs never try
to clone this class?)
Invoking clone via reflection is a bit odd, I'd guess the reflection
support is more likely the culprit. (Making a smaller test case based
around this idea might pan out.)
The clone native method is pretty simple (see
libraries/clib/native/Object.c). Could you run kaffe under GDB (see
FAQ.debugging) and put a breakpoint on the SignalError() call in clone
to see what the object really is? (developers/gdbinit contains a gdb
macro 'pobject' that might help.)
Technically, the NotCloneable exception should be wrapped because it
occurs in a reflection invocation (I bet the jython code is just
unwrapping that). But, just in case, you might run with '-vmdebug
ELOOKUP' (assuming Kaffe was configured with --enable-debug) to see
what exceptions are really being thrown/caught.
> If there's not enough info about the problem here, please ask for more.
The relevant source bits of this function might be useful:
org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:line unknown, pc 0x854dee1)
Has anyone else out there tried jython and (CVS) Kaffe? The jython
web pages talk about a Kaffe that doesn't support
java.math.BigInteger, but I know that's there now (so I assume that
note is really old).
----- ----- ---- --- --- -- - - - - -
Pat Tullmann tullmann at cs.utah.edu
Never ascribe to malice that which can be explained by incompetence.
More information about the kaffe