Hello, the resolving of the "RootPOA" after ORB shutdown/destroying and reinitiating leads to an assertion (MSVC8/2005):
********************************************************************* [3659310003 - 003DCA60] poa_impl.cc:303: assertion failed ********************************************************************* Here is the appropriate code of MICO that contains the assert line: *** poa_impl.cc ***************************************************** MICOPOA::POACurrent_impl::POACurrent_impl (CORBA::ORB_ptr _orb) { #ifndef HAVE_THREADS state_stack_ = NULL; #else // HAVE_THREADS // we get exactly one POACurrent object // therefor no care is nesesary for creating the key MICOMT::Thread::create_key(current_key_, &__current_cleanup); #endif // HAVE_THREADS assert (CORBA::is_nil (PortableServer::_the_poa_current)); PortableServer::_the_poa_current = this; orb = _orb; orb->set_initial_reference ("POACurrent", this); } ********************************************************************* I am using a class "Server" that initiates the ORB and destroys it at deconstruction right after a preceding shutdown. The following code snippet illustrates it: ********************************************************************* Server::Server() { _orb = CORBA::ORB_init(...); ... CORBA::Object_var poa_obj = _orb->resolve_initial_references("RootPOA"); ... } Server::~Server() { _orb->shutdown(...); _orb->destroy(); } ********************************************************************* The programm runs fine with the first constructed object of type "Server". The assertion inescapably happens _after_ de- and reconstruction. Is there something missing in my code, maybe something related to POA cleanup? Thanks, Patrick _______________________________________________ Mico-devel mailing list Mico-devel@mico.org http://www.mico.org/mailman/listinfo/mico-devel