[kaffe] Bug [CVS Version]: RMI/Object serialization

Hervé Roussain Herve.Roussain@univ-ubs.fr
Mon Apr 14 04:31:01 2003


This is a multi-part message in MIME format.
--------------000401040403040200040607
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Hi!

There's a 'java.io.StreamCorruptedException: failed to read 
endblockdata' when I'm using RMI.

It seems that the bug comes from objects serialization. I've tried to 
replace Kaffe's RMI implementation with Classpath's one: there's no 
change (i.e. the bug remains the same).

I noticed that there's a comment in java.io.ObjectStreamClass with a big 
todo list...

So I've got a few questions:
1) Why did this class changed from version 1.11 (of the file) ?
2) Who remembered that this TODO list (and planned to work on it) ?
3) What version should be in Kaffe 1.1.0: the old version (1.11) which 
worked "not so bad", or a corrected version of the new one ?

The attached zipfile contains code from Sun's RMI tutorial (compiled 
with JDK 1.4) (if you want more info about the files, look at 
http://java.sun.com/docs/books/tutorial/rmi/index.html)

Here's the way to run the code:
(I know you know how to use RMI, but I just don't want you to lose time 
looking for the good classes to run...)
rmiregistry &
java engine.ComputeEngine (on a first term)
java client.ComputePi (on a second term)

I suggest you to try both Kaffe & Sun JDK for the server and the client...

Hervé

--------------000401040403040200040607
Content-Type: application/x-zip-compressed;
 name="RMI-computePi.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="RMI-computePi.zip"

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
AA==
--------------000401040403040200040607--