[omniORB] orb shutdown hangs

Renzo Tomaselli renzo.tomaselli at tecnotp.it
Wed Jul 23 15:24:47 BST 2003


Hi all,
    I'm posting this in the hope that someone else met this trouble.
Environment is OmniORB 4.01, WinXP, all things concerning the threading
model are set to their defaults.
After some heavy work (from a client process which exited properly), a
server process orb hangs forever while shutting down.
This occurs in giopServer::deactivate(), giopServer.cc, line 518.
It happens that flag waitforcompletion is true since the counter
pd_nconnections is 1 when the method is entered, then it never drops to
zero.
Indeed I observed from the debugger that there is still a connection which
is sent a close message and then it's shut down. Nevertheless
pd_nconnections stays at one forever, while I couldn't find any relationship
between this counter and the action of shutting down a connection at this
time.
At this point the only remainin threads, beside the main one, are
omniServantActivatorTaskQueue::real_run(), waiting for work, and
Scavenger::execute(), blocked in a timed wait.
Unfortunately the overall job occur after a long operation sequence which
involved both client-server and server-client communications; simple(e.g.
interactive) client operations do not yield such blocking, and in such cases
deactivate() is always entered with pd_nconnections ==0.
Any help will be appreciated, thanks.

Renzo Tomaselli
 ---------------------------------------------------------------------------
 TecnoTP s.n.c. Special Information System Design
 Maso Pelauchi I38050 Ronchi Valsugana,  Trento TN  ITALY
 ---------------------------------------------------------------------------






More information about the omniORB-list mailing list