Problem:
- Product Name: VisiBroker for C
 - Product Version: All
 - Product Component: Core
 - Platform/OS Version: HP-UX 11.11
 
Invoking ORB::run() again during the clean up process where the orb is in the midst of executing ORB::shutdown()/destroy() or exit() function call will cause an intermittent core dump at VISProtocolManager::wait_for_shutdown().
#0 0xc7d24c40 in VISProtocolManager::wait_for_shutdown () from /opt/vbroker7.0runtime/lib/liborb_r.sl (gdb) bt #0 0xc7d24c40 in VISProtocolManager::wait_for_shutdown () from /opt/vbroker7.0runtime/lib/liborb_r.sl #1 0xc7c8c0ec in VISORB::run () from /opt/vbroker7.0runtime/lib/liborb_r.sl :The sample code is listed below,
while (true)
 {
   try
   {
      orb->run();
   }
   catch (const CORBA::Exception&)
   {
    // Some exception handling
    break;
   }
 }
Resolution:
ORB::run() function must not be called again when the orb is executing the ORB::shutdown()/destroy() function.
#VisiBroker
#Security