JDK-4452578 : RI hangs when a return object is not serializable.
  • Type: Bug
  • Component: other-libs
  • Sub-Component: corba:orb
  • Affected Version: 1.3.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_8
  • CPU: sparc
  • Submitted: 2001-05-01
  • Updated: 2008-01-14
  • Resolved: 2008-01-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.0 beta2Fixed
Related Reports
Relates :  
Description
NOTE: Sanjeev agree and reproduces the bug.

Test:
------

<sqe-workspace>/test/security/runAs

Just run the test. The RI main thread die and the client hangs.

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: merlin-beta2 FIXED IN: merlin INTEGRATED IN: merlin-beta2
14-06-2004

EVALUATION The Tie throws an UnknownException containing the ClassCastException because the return object is not Serializable. After doing some debugging, it seems like the server successfully sends a reply message containing the UnknownException, but the client is still hanging because it is expecting some more data ? The client stack trace is below. Perhaps this is some error in the IIOP layer while marshaling the exception back. "DatabaseProxy_TableReadWrite" daemon prio=5 tid=0x179110 nid=0x11 waiting on monitor [0xf4380000..0xf43819e0] at java.lang.Object.wait(Native Method) - waiting on <f4db1fc8> (a com.sun.corba.ee.internal.iiop.BufferQueue) at java.lang.Object.wait(Object.java:420) at com.sun.corba.ee.internal.iiop.BufferManagerReadStream.underflow(BufferManagerReadStream.java:65) - locked <f4db1fc8> (a com.sun.corba.ee.internal.iiop.BufferQueue) at com.sun.corba.ee.internal.iiop.CDRInputStream_1_1.grow(CDRInputStream_1_1.java:76) at com.sun.corba.ee.internal.iiop.CDRInputStream_1_0.read_octet_array(CDRInputStream_1_0.java:568) at com.sun.corba.ee.internal.iiop.CDRInputStream.read_octet_array(CDRInputStream.java:209) at com.sun.corba.ee.internal.core.UnknownServiceContext.<init>(UnknownServiceContext.java:31) at com.sun.corba.ee.internal.core.ServiceContexts.<init>(ServiceContexts.java:103) at com.sun.corba.ee.internal.iiop.messages.ReplyMessage_1_2.read(ReplyMessage_1_2.java:119) at com.sun.corba.ee.internal.iiop.IIOPInputStream.unmarshalHeader(IIOPInputStream.java:126) at com.sun.corba.ee.internal.iiop.IIOPConnection.getResponse(IIOPConnection.java:657) at com.sun.corba.ee.internal.iiop.IIOPOutputStream.invoke(IIOPOutputStream.java:122) at com.sun.corba.ee.internal.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:79) at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:94) at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:133) at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:459) at test.security.runAs.proxy._DatabaseProxy_Stub.processCachedResults(Unknown Source) at test.security.runAs.DatabaseProxyClient.run(DatabaseProxyClient.java:196) at java.lang.Thread.run(Thread.java:484) harold.carr@Eng 2001-05-01 It's a bug.
01-05-2001