[omniORB] Servant Locator / tcpSocketMT Exception

Shanmugam Deveraj shm@transynergy.net
Tue, 22 May 2001 15:48:14 +0200


Hi Duncan!

Here is the 
1. Trace from my server:-
************************
C:\Shan\Samples\SQLData\Release>sqldata -ORBtraceLevel 25
-ORBtraceInvocations
omniORB: The omniDynamic library is not linked.
[SHAN] Compiler says LINK : warning LNK4089: all references to
"omniDynamic303_rt.dll" discarded by /OPT:REF
omniORB: Initialising incoming rope factories.
omniORB: strand Ripper: start.
omniORB: scavenger : start.
omniORB: strand Rope::incrRefCount: old value = 0
omniORB: Starting incoming rope factories.
omniORB: Activating: root<0>
omniORB: Creating ref to local: root<0>
 target id      : IDL:omg.org/PortableServer/ServantLocator:2.3
 most derived id: IDL:omg.org/PortableServer/ServantLocator:2.3
omniORB: Creating ref to local: root/childPOA<0> (not activated)
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:Quoter/Stock_Factory:1.0
omniORB: strand Rope::incrRefCount: old value = 0
omniORB: strand Rope::incrRefCount: old value = 1
'IOR:010000001d00000049444c3a51756f7465722f53746f636b5f466163746f72793a3
12e30000
00000010000000000000037000000010100000f0000003139342e3233342e31382e31343
70000da0
a000017000000ff6368696c64504f41fe77ec0a3b010005540000000000'
omniORB: strand Rope::incrRefCount: old value = 0
omniORB: Creating ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
omniORB: Initial reference `NameService' resolved from configuration
file.
omniORB: LocateRequest to remote: key<0x4e616d6553657276696365>
omniORB: tcpSocketMTfactory Rendezvouser: start.
omniORB: tcpSocketMTfactory Rendezvouser: block on accept()
omniORB: Invoke 'bind_new_context' on remote:
key<0x4e616d6553657276696365>
omniORB: Invoke 'resolve' on remote: key<0x4e616d6553657276696365>
omniORB: strand Rope::incrRefCount: old value = 1
omniORB: Creating ref to remote: root/<939524096>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
omniORB: LocateRequest to remote: root/<939524096>
omniORB: Invoke 'bind' on remote: root/<939524096>
omniORB: Invoke 'rebind' on remote: root/<939524096>
omniORB: omniRemoteIdentity deleted.
omniORB: strand Rope::decrRefCount: old value = 2
omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
omniORB: tcpSocketMTfactory Rendezvouser: unblock from accept()
omniORB: tcpSocketMTfactory Rendezvouser: accept new strand.
omniORB: tcpSocketMTfactory Rendezvouser: block on accept()
omniORB: tcpSocketMTfactory Worker: start.
omniORB: Handling a GIOP LOCATE_REQUEST.
omniORB: Dispatching local call 'preinvoke' to root<0>
Quoter_Stock_Factory_i::preinvoke()get_stock
omniORB: Dispatching remote call 'get_stock' to: root/childPOA<0>
Inside the get stock function
omniORB: Dispatching local call 'postinvoke' to root<0>
Quoter_Stock_Factory_i::postinvoke()
omniORB: RefCountServantBase has zero ref count -- deleted.
Quoter_Stock_Factory_i::~Quoter_Stock_Factory_i()
omniORB: Dispatching local call 'preinvoke' to root<0>
Quoter_Stock_Factory_i::preinvoke()get_stock
omniORB: Dispatching remote call 'get_stock' to: root/childPOA<0>
Inside the get stock function
omniORB: Dispatching local call 'postinvoke' to root<0>
Quoter_Stock_Factory_i::postinvoke()
omniORB: RefCountServantBase has zero ref count -- deleted.
Quoter_Stock_Factory_i::~Quoter_Stock_Factory_i()
omniORB: Dispatching local call 'preinvoke' to root<0>
Quoter_Stock_Factory_i::preinvoke()get_stock
omniORB: Dispatching remote call 'get_stock' to: root/childPOA<0>
Inside the get stock function
omniORB: Dispatching local call 'postinvoke' to root<0>
Quoter_Stock_Factory_i::postinvoke()
omniORB: RefCountServantBase has zero ref count -- deleted.
Quoter_Stock_Factory_i::~Quoter_Stock_Factory_i()
omniORB: WARNING -- method 'get_stock' raised an unexpected
 exception (not a CORBA exception).
omniORB: An exception has occured and was caught by tcpSocketMT Worker
thread.
omniORB: tcpSocketMTfactory Worker: exit.
omniORB: scavenger : scanning connections

2. Client Output:-
******************
C:\Shan\Samples\Test\Release>test
0: Before calling DoWork()
Before calling get_stock()
After calling get_stock()
The value is :7
0: After calling DoWork()

1: Before calling DoWork()
Before calling get_stock()
After calling get_stock()
The value is :7
1: After calling DoWork()

2: Before calling DoWork()
Before calling get_stock()
After calling get_stock()
The value is :7
2: After calling DoWork()

3: Before calling DoWork()
Before calling get_stock()
[SHAN]the client hangs here.

Regards,
Shanmugam.D.

-----Original Message-----
From: owner-omniorb-list@uk.research.att.com
[mailto:owner-omniorb-list@uk.research.att.com]On Behalf Of Duncan
Grisby
Sent: Tuesday, May 22, 2001 6:36 AM
To: Shanmugam Deveraj
Cc: 'omniorb-list@uk.research.att.com'
Subject: Re: [omniORB] Servant Locator / tcpSocketMT Exception 


On Tuesday 22 May, Shanmugam Deveraj wrote:

[...]
> OmniNames Trace Message:-

We're not interested in omniNames are we?  I thought it was your
program which was hanging. From the trace it looks like omniNames is
working fine. The only slight concern is:

> omniORB: throw omniConnectionBroken (minor 10054) from
> tcpSocketMTfactory.cc:1068

Which means "TCP connection was forcibly closed by remote host".
That's probably due to a client dying.

You need to run _your_ program with the tracing on, so we can see
what's happening to it.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --