SUGGESTED FIX
------- IIOPOutputStream.java -------
*** /tmp/sccs..Vaiov Thu Dec 4 17:42:34 2003
--- IIOPOutputStream.java Thu Dec 4 17:32:05 2003
***************
*** 91,98 ****
* @since JDK1.1.6
*/
public final void writeObjectDelegate(Object obj)
! /* throws IOException */
{
Util.writeAbstractObject((OutputStream)orbStream, obj);
//orbStream.write_value((java.io.Serializable)obj);
}
--- 91,99 ----
* @since JDK1.1.6
*/
public final void writeObjectDelegate(Object obj)
! throws IOException
{
+ writeUDOWI();
Util.writeAbstractObject((OutputStream)orbStream, obj);
//orbStream.write_value((java.io.Serializable)obj);
}
|
EVALUATION
This seems to be related to 4898230
###@###.### 2003-12-03
the writeObjectDelegate method in IIOPOutputStream should be inserted
with the new writeUDOWI() method too.
this has fixed the TreeSet problem.
however the BigInteger and BigDecimal problem is different. after 4898230
BigInteger will now write out "false" as the defaultWriteObjectIndicator
this seems to break the current rip-int workspace.
in old workspace the InputStream side doesnt really use this flag so
it works fine.
it seems "false" is the correct value for BigInteger - its writeObject
doesnt call defaultWriteObject, so i suspect that this is some problem in
rip-int workspace's IIOPInputStream side.
i have fixed the TreeSet problem in 1.4.2_04. i have talked to Hemanth
and according to him the serialization for an object which only called
writeFields not defaultWriteObject should have a "false" as the
useDefaultWriteObjectIndicator. so it seems that the BigInteger
and BigDecimal failure should be fixed after the rip-int workspace
is fixed. so i have marked this one as "fixed" for now
###@###.### 2004-01-06
this bug will only track the TreeSet problem, the BigInteger(BigDecimal) problem
is tracked under 4966458
so in this sense this bug is not applicable to tiger.
###@###.### 2004-02-09
|