[omniORB] Heavy system load during shutdown

Helmut Swaczinna Helmut.Swaczinna@wmd.de
Fri, 07 Jul 2000 01:32:49 +0200


Hi everybody,

we ran into a serious problem:

When it is necessary to shutdown the omniORB-processes (e.g. for
configuration 
tasks) after *some weeks* the system shows a very strange behaviour. The 
systemload increases to an exorbitant value. It is nearly impossible to 
execute a command on the console. Shuting down the processes takes up to an
hour on a quit fast machine. Normaly it takes a few seconds. The heavy
systemload is caused by a *very* high traffic rate on the loopback-device. 
There are some hundred million packets delivered during shutdown. During
normal operation there are some million per week. This traffic must be located
in low level network routines. There are no extra method-invokations or
upcalls 
in  the user-code. And the omniORB-trace-messages show normal activity of
the omniORB-lib. 

The shutdown-code of each process looks like this:

    BOA->impl_is_ready(0, 1);
    sigwait(...);
    BOA->impl_shutdown();
    Naming->unbind(MyName);
    MyObj->_dispose();
    BOA->destroy();

The system consists of 12 omniORB-processes each with about 10 threads
running on one machine. All are combined client/server-processes. The
processes are startet with -ORBinConScanPeriod 0 ans -ORBoutConScanPeriod 0.
(Scanning for idle-connections makes the system get instable.) We're using
omniORB 2.7.1 witch egcs 1.1.2 on Linux 2.2.10.

Can somebody explain this strange behaviour to me?

Thanks

Helmut