[omniORB] CORBA::MARSHAL exception with large objects

Dmitry I. Shkolnikov dmitri at tixway.com
Fri May 14 15:40:06 BST 2004


During attempt to send to the client a large sequence (of structures
about 15000x128 bytes)  the  CORBA::MARSHAL exception raised.

Platforms: Win32 (omniORB 4.0.1),Gentoo 2.4.22 (omniORB 4.0.3)

Runtime args:
-ORBgiopMaxMsgSize 10000000

Server log with -ORBtraceLevel 40:
.....
14:18:02[00188265] T 0x000005f4 SomeInterface preinvoke, 0x12c4138 for operation=SomeInterface
14:18:04[00190828] T 0x00000880 omniORB: Scan for idle connections (1084529884,906000000)
14:18:46[00232765] T 0x00000880 omniORB: Scavenger reduce idle count for strand 012CD9F0 to 10
14:18:46[00232765] T 0x00000880 omniORB: Scan for idle connections done (1084529884,906000000).
14:18:46[00232765] T 0x000005f4 SomeInterface postinvoke, 0x12c4138 for operation=SomeFunction
14:18:46[00232765] T 0x000005f4 omniORB: sendChunk: to giop:tcp:10.0.1.216:2310 8192 bytes
14:18:46[00232781] T 0x000005f4 omniORB:
...data dump....
14:18:49[00235703] T 0x000005f4 omniORB: throw giopStream::CommFailure from giopStream.cc:1085(0,YES,COMM_FAILURE_MarshalResults)
14:18:49[00235750] T 0x000002f8 omniORB: AsyncInvoker: thread id = 5 has started. Total threads = 4
14:18:49[00235750] T 0x000002f8 omniORB: giopWorker task execute.
14:18:49[00235750] T 0x000002f8 omniORB: throw giopStream::CommFailure from giopStream.cc:787(0,NO,COMM_FAILURE_UnMarshalArguments)
14:18:50[00236187] T 0x000005f4 omniORB: Server connection refcount = 1
14:18:50[00236187] T 0x000005f4 omniORB: Server connection refcount = 0
14:18:50[00236187] T 0x000005f4 omniORB: Server close connection from giop:tcp:10.0.1.216:2310
....

Results of debugging (win32):
tcpConnection.cc, tcpConnection::Send(..),
the return code from call of ::send is
 EINPROGRESS[WSAEWOULDBLOCK] instead? of RC_EINTR[WSAEINTR]
 blocking/nonbloking sockets?
 
The same exception raised under Gentoo.
 
Does anybody has something like this and how to solve it?

Best regards, Dmitri.




More information about the omniORB-list mailing list