RE: FW: Occasional CORBA::MARSHAL exceptions
<[email protected]> Tue, 7 Mar 2006 09:25:22 -0000
| Newsgroups | gmane.comp.corba.orbacus |
|---|---|
| Message-ID | <[email protected]> |
Further investigation reveals that this is indeed the same problem
encountered by Roy Kuraisa in 2001. This was fixed by setting the socket
options on the winsock to use a 64K buffer in the Transport_impl
constructor and then breaking data sent to the winsock into 64K chunks
(Transport_impl::send).
However the fix was only applied to the server side methods. Hence data
sent from client to server continue to experience the problem.
I have checked the 4.2.2 source code I find that this is still not
fixed. There is a revealing comment in the constructor.
//
// Set a larger send buffer size to avoid a performance problem
// on Win32. See send_detect().
//
// TODO: This code is `arbitrary'. The issue should be revisited to
// see if there isn't a more `correct' solution.
//
// XXX - Why is this only on the server side constructor?
//
and in the Transport_impl::sendImpl method
//
// REVISIT: Why is this only required in send_detect()? The other
// send methods don't have this workaround.
//
All these methods are found in oci_iiop_impl.cpp.
Simply cutting and pasting the code from the server side methods fixes
the problem.
Regards,
Simon
_____
From: [email protected] [mailto:[email protected]]
On Behalf Of McKeown, Simon
Sent: 08 February 2006 11:17
To: [email protected]
Subject: FW: [OB-Users] FW: Occasional CORBA::MARSHAL exceptions
A datascope reveals that the TCP window is full immediately before the
exception is thrown. Our network guys think that this may indicate that
the application is not polling the TCP buffers for data as quickly as it
should be.
Could this be related to the winsock problems that Roy Kuraisa
encountered in his post of Feb 27 2001?
Thanks.
-----Original Message-----
From: [email protected]
[mailto:[email protected]]On Behalf Of McKeown, Simon
Sent: 08 February 2006 10:49
To: [email protected]
Subject: [OB-Users] FW: Occasional CORBA::MARSHAL exceptions
When calling a method on an IIOP.NET callback object we are occasionally
receive a MARSHALL exception. The method passes a sequence which is not
particularly large. The minor code of 0x4b7 is not a valid error. When
the call is retried several times it generally succeeds.
marshal exception thrown System exception `MARSHAL'
Locality: exception has been received "over the wire"
Completed: maybe
Minor code: 0x4b7
We are using Orbacus 4.0.4 (for compatability with Sophis) in thread per
request configuration.
Any ideas gratefully received.
Thanks,
Simon
PLEASE READ: The information contained in this email is confidential and
intended for the named recipient(s) only. If you are not an intended
recipient of this email please notify the sender immediately and delete
your
copy from your system. You must not copy, distribute or take any further
action in reliance on it. Email is not a secure method of communication
and
Nomura International plc ('NIplc') will not, to the extent permitted by
law,
accept responsibility or liability for (a) the accuracy or completeness
of,
or (b) the presence of any virus, worm or similar malicious or disabling
code in, this message or any attachment(s) to it. If verification of
this
email is sought then please request a hard copy. Unless otherwise stated
this email: (1) is not, and should not be treated or relied upon as,
investment research; (2) contains views or opinions that are solely
those of
the author and do not necessarily represent those of NIplc; (3) is
intended
for informational purposes only and is not a recommendation,
solicitation or
offer to buy or sell securities or related financial instruments. NIplc
does not provide investment services to private customers. Authorised
and
regulated by the Financial Services Authority. Registered in England
no. 1550505 VAT No. 447 2492 35. Registered Office: 1 St
Martin's-le-Grand,
London, EC1A 4NP. A member of the Nomura group of companies.
PLEASE READ: The information contained in this email is confidential and
intended for the named recipient(s) only. If you are not an intended
recipient of this email please notify the sender immediately and delete your
copy from your system. You must not copy, distribute or take any further
action in reliance on it. Email is not a secure method of communication and
Nomura International plc ('NIplc') will not, to the extent permitted by law,
accept responsibility or liability for (a) the accuracy or completeness of,
or (b) the presence of any virus, worm or similar malicious or disabling
code in, this message or any attachment(s) to it. If verification of this
email is sought then please request a hard copy. Unless otherwise stated
this email: (1) is not, and should not be treated or relied upon as,
investment research; (2) contains views or opinions that are solely those of
the author and do not necessarily represent those of NIplc; (3) is intended
for informational purposes only and is not a recommendation, solicitation or
offer to buy or sell securities or related financial instruments. NIplc
does not provide investment services to private customers. Authorised and
regulated by the Financial Services Authority. Registered in England
no. 1550505 VAT No. 447 2492 35. Registered Office: 1 St Martin's-le-Grand,
London, EC1A 4NP. A member of the Nomura group of companies.
_______________________________________________
OB-Users Mailing List - [email protected]
http://mail.ooc.nf.ca/mailman/listinfo/ob-users
Visit our support FAQ before you send a message.
http://www.orbacus.com/faq/support.html