[omniORB] Getting a debug assertion error while trying to shut down a corba server.

Sai-Lai Lo S.Lo@uk.research.att.com
16 Aug 2000 14:10:41 +0100


>>>>> Mike Bendickson writes:

> Yes, NP_destroy() does return.
> After execute impl_shutdown(), [CORBA:BOA::impl_is_ready] thread is killed.

> After execute orb->NP_destroy(), [omniORB_Ripper::run_undetached] and
> [omni_Scavenger::run_undetached] are killed.

> Then when trying to go one further step in our CORBA server thread (which
> should return to main), assertion failure.

> We modified our project to create a static library instead of a DLL, and the
> problem went away.

> Any suggestions?


Please check your CORBA server thread to see if it has any auto variables
or data members that are omniORB object references or object
implementations. It looks like the dtor of one or more of these objects are
called after orb->NP_destroy(). As I said before, this shouldn't happen and
the result is unpredictable.

If you can't find anything obvious, could you try to produce a test case
for me to reproduce your problem? One thing I know is that others have been
using omniORB in DLLs with no problem so at least there is a way to get it
to work.

Sai-Lai


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND