Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4367783
Votes 0
Synopsis Interoperability failure with arrays of Java char
Category idl:serialization
Reported Against 1.2.2
Release Fixed
State 11-Closed, duplicate of 4365188, bug
Priority: 4-Low
Related Bugs 4365188
Submit Date 01-SEP-2000
Description



The failures below are seen when interoperating between rmi-iiop and idl-java
clients and servers.
Also, elements get missed from passed wchar arrays.

The rmi-iiop implementation (in ValueHandler) is incorrectly
marshalling/unmarshalling arrays of Java char as single octet chars.

Fixing this problem renders the ORB incompatible with previous versions.


rmi client running with idl server---------------------------------------------

>java -Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory ClientImpl
java.rmi.MarshalException: CORBA MARSHAL 1398079496 Maybe; nested exception is:
        org.omg.CORBA.MARSHAL:   minor code: 1398079496 completed: Maybe

org.omg.CORBA.MARSHAL:   minor code: 1398079496 completed: Maybe
  at java.lang.Class.newInstance0(Native Method)
  at java.lang.Class.newInstance(Class.java:237)
  at com.sun.corba.se.internal.iiop.ReplyMessage.getSystemException(ReplyMessage
.java:93)
  at com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(Client
ResponseImpl.java:82)
  at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:1
91)
  at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:294)
  at _Server_Stub.char_in(Unknown Source)
  at ClientImpl.main(ClientImpl.java:16)

idl client running with rmi server---------------------------------------------

>java -Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory ClientImpl
org.omg.CORBA.MARSHAL:   minor code: 1398079496 completed: Maybe
  at com.sun.corba.se.internal.iiop.IIOPInputStream.grow(IIOPInputStream.java:11
6)
  at com.sun.corba.se.internal.iiop.CDRInputStream.alignAndCheck(CDRInputStream.
java:205)
  at com.sun.corba.se.internal.iiop.CDRInputStream.read_wchar(CDRInputStream.jav
a:260)
  at com.sun.corba.se.internal.iiop.CDRInputStream.read_wchar_array(CDRInputStre
am.java:1448)
  at org.omg.boxedRMI.seq1_wcharHelper.read_value(seq1_wcharHelper.java:77)
  at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStream.jav
a:1079)
  at org.omg.boxedRMI.seq1_wcharHelper.read(seq1_wcharHelper.java:69)
  at _ServerStub.char_return(_ServerStub.java:50)
  at ClientImpl.main(ClientImpl.java:19)


Testcases are available, but consist of 30+ files.  Contact me for a zip file if required.

======================================================================
Work Around
N/A
Evaluation
We should be able to extend our versioning work to encompass this change so as not to break backwards compatibility with our legacy ORBs.

----

We will fix this in Ladybird as part of bug 4365188.
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang