[prev in list] [next in list] [prev in thread] [next in thread] 

List:       jacorb-developer
Subject:    [jacorb-developer] still getting this COMM_FAILURE
From:       John Farrell <Farrell_John_W () cat ! com>
Date:       2004-02-27 1:58:01
Message-ID: 200402271158.01728.Farrell_John_W () cat ! com
[Download RAW message or body]

I have been trying to determine the cause of this COMM_FAILURE that I am 
getting out of JacORB. In the end it might be easiest to just catch it and 
swallow it, but we all know that's naughty.

So I am running COS Notification on port 14711. I make a push_structured_event  
RPC to a consumer. The client side is then waiting for a reply on that 
connection, but after 10 seconds, it gets a socket timeout. This eventually 
causes a COMM_FAILURE. 

On the server side, there is not much happening. The push_structured_event 
call returns void, so there is no return value. ServerRequest.reply() is 
invoked from BasicAdapter.return_result to respond to the RPC. 
ServerRequest.reply() does not close the connection - I tried adding 
connection.close() after connection.sendReply(out) near the end of 
ServerRequest.reply(), and other RPCs broke with COMM_FAILUREs :-(. 

I looked in connection.sendReply() (in GIOPConnection). It decrements the 
pending message count and sends the data accumulated in the 
MessageOutputStream (which turns out to be 24 bytes). The code eventually 
gets to MessageOutputStream.write_to, which writes to the connection and 
closes the MessageOutputStream. However, I cannot find anywhere where the 
GIOPConnection is closed, and that's what is timing out.

Could someone please give me a hint as to how this is supposed to work? And 
why should I get a COMM_FAILURE sometimes but not all the time? Any ideas at 
all? Thanks,

John
----
THROWABLE: org.omg.CORBA.COMM_FAILURE:   vmcid: 0x0  minor code: 0 completed: 
Maybe
        at org.jacorb.orb.giop.ReplyPlaceholder.getInputStream(Unknown Source)
        at org.jacorb.orb.ReplyReceiver.getReply(Unknown Source)
        at org.jacorb.orb.Delegate.invoke_internal(Unknown Source)
        at org.jacorb.orb.Delegate.invoke(Unknown Source)
        at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
        at 
org.omg.CosNotifyChannelAdmin._SequenceProxyPushConsumerStub.push_structured_events(_SequenceProxyPushConsumerStub.java:473)
  at 
com.mincom.env.service.pubsub.jacorb.JacorbPublication.publishObjects(JacorbPublication.java:88)
  at 
com.mincom.env.service.pubsub.AbstractPublication.run(AbstractPublication.java:229)
        at java.lang.Thread.run(Thread.java:536)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic