Discussion:
[omniORB] Is it possible to suppress the COMM_FAILURE_UnMarshallArguments Exception?
cjulwelling at micron.com ()
2008-03-01 02:03:35 UTC
Permalink
I'm running with omniORB v4.1.1 on Red Had Enterprise Linux 5.
I recently have upgraded from omniORB 4.0.4 on Red Had Enterprise Linux
3 and I did not see this issue previously. The issue is the tracing of
COMM_FAILURE_UnMarshallArguments exceptions when things seem to be
shutdown gracefully.


I've been able to reproduce the issue using the provided echo
(eg3_clt/eg3_impl) examples. When I run the example code it prints 10
"Hello" messages and then exits on the client side. The server side
then prints out:
omniORB: Orderly connection shutdown: giop:tcp<ipaddr and port info>
omniORB: throw giopStream::CommFailure from
giopImpl12.cc:1367(0,NO,COMM_FAILURE_UnMarshalArguments)

The main way I use omniORB is enabling python to communicate
with TAO C++ CORBA servers. When I have a python client that registers
a callback with a TAO C++ CORBA server everything works well until I
shutdown the server. On the python side ( which implements a callback )
I see the following printed out:
omniORB: Error in network receive (start of message): giop:tcp:<ipaddr
and port info>
omniORB: throw giopStream::CommFailure from
giopStream.cc:875(0,NO,COMM_FAILURE_UnMarshalArguments)


I have done some looking around online and searched the archives
and seen a few responses saying that this is normal behavior, and that
omni is just notifying the user that the connection has been closed. I
looked at the code for giopStream.cc and it appears that the recv gets a
0, indicating the connection was gracefully closed, but it still throws
this exception. I have also tried to fiddle with the parameters in the
omniORB.cfg file with no success to eliminate this message.


My question is, is it possible via a omniORB.cfg setting,
compile setting, or better practice on my side to eliminate these
warning messages? I would really like to suppress the output of these
messages, but not affect the output of other error messages.

Thanks,
Charles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080229/4a01b199/attachment.htm
Duncan Grisby
2008-03-10 13:47:56 UTC
Permalink
Post by cjulwelling at micron.com ()
I've been able to reproduce the issue using the provided echo
(eg3_clt/eg3_impl) examples. When I run the example code it prints 10
"Hello" messages and then exits on the client side. The server side
omniORB: Orderly connection shutdown: giop:tcp<ipaddr and port info>
omniORB: throw giopStream::CommFailure from
giopImpl12.cc:1367(0,NO,COMM_FAILURE_UnMarshalArguments)
As you say, this is entirely normal. You've chosen to get lots of
tracing messages, and this is one of them. It's a really useful message
to have in cases where you don't expect a connection to be closed. The
code that outputs the message can't possibly know whether you were
expecting the connection to close at that time, so it can't sensibly
suppress the message in those cases.

[...]
Post by cjulwelling at micron.com ()
My question is, is it possible via a omniORB.cfg setting,
compile setting, or better practice on my side to eliminate these
warning messages? I would really like to suppress the output of these
messages, but not affect the output of other error messages.
If you're really that bothered by the messages, just comment out the
code that outputs them. But then don't ever send any traces if you
happen to have unexpected connection related problems, because removing
that message will affect the ability to diagnose them.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...