Looks like some lookup table in the ird gets corrupted, since it appears that the "ird" thinks that the given "OperationDef" is_a Container since this code returns "True" where obj is a "OperationDef" and repoid is "IDL:omg.org/CORBA/Container:1.0:
object.cc: (called from ir.cc below) CORBA::Boolean CORBA::Object::_is_a_remote (const char *repoid) { // only ask remote if we are a stub if (_orbnc()->is_impl (this)) return FALSE; if (!ior) return FALSE; return _orbnc()->is_a (this, repoid); } orb.cc: ... CORBA::Boolean CORBA::ORB::is_a (Object_ptr obj, const char *repo_id) ... Request_var req = obj->_request ("_is_a"); req->add_in_arg ("logical_type_id") <<= repo_id; req->result()->value()->set_type (CORBA::_tc_boolean); MICO_CATCHANY(req->invoke ()); if (req->env()->exception()) mico_throw (*req->env()->exception()); Boolean res; CORBA::Boolean r = (*req->result()->value() >>= Any::to_boolean (res)); assert (r); if (res) { if (!*obj->_repoid()) { obj->_ior()->objid (repo_id); } else { MICOMT::AutoLock l(_isa_cache); string key = string(obj->_repoid()) + "$" + repo_id; _isa_cache.push_front (key); // XXX CACHE size = 50 if (_isa_cache.size() > 50) _isa_cache.pop_back(); } ir.cc: ... CORBA::Container_ptr CORBA::Container::_narrow( CORBA::Object_ptr _obj ) { CORBA::Container_ptr _o; if( !CORBA::is_nil( _obj ) ) { void *_p; if( (_p = _obj->_narrow_helper( "IDL:omg.org/CORBA/Container:1.0" ))) return _duplicate( (CORBA::Container_ptr) _p ); if (!strcmp (_obj->_repoid(), "IDL:omg.org/CORBA/Container:1.0") || _obj->_is_a_remote ("IDL:omg.org/CORBA/Container:1.0")) { _o = new CORBA::Container_stub; _o->CORBA::Object::operator=( *_obj ); return _o; } } return _nil(); } ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ Mico-devel mailing list Mico-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mico-devel