I just downloaded and installed version 1.0.5 and am having a problem
with RMI.
I have compiled my java source and generated my stubs and skel classes
on a Solaris box with Sun's JDK (version 1.1.7). I then moved these
classes over to a Linux box (Cobalt Raq2, MIPS CPU, RedHat 5.2) and
start the Kaffe rmiregistry and my RMI server (using the Kaffe VM). When
I attempt to make a remote call to the RMI server on the kaffe machine I
get the following exception:
java.rmi.UnmarshalException: error unmarshalling return; nested
exception is: java.io.InvalidClassException:
TestImpl_Stub; Local class not compatible: stream classdesc
serialVersionUID=-1585587260594494182 local
class serialVersionUID=2015510784496417641
I ran serialver on both the Solaris JDK machine and the Kaffe VM machine
and I got the following:
Solaris machine (Sun JDK 1.1.7) - TestImpl_Stub: static final long
serialVersionUID=2015510784496417641L;
kaffe machine (Kaffe 1.0.5) - TestImpl_Stub: static final long
serialVersionUID= -1585587260594494182L; (that's a minus sign in front
of the big number)
I know that the class files are the same on both machines because I
generate them on the Solaris box, tar them up and move them over to the
Linux box. It looks to me like Kaffe is not correctly reading the
serialVersionUID on the classes. Is there any way I can fix this or
workaround it?
Thanks for any help.
Greg Z