Hi,
please try to duplicate this issue on 2.3.12 RC1 (http://mico.org/snapshots/) and if you are successful, then please send me privately as simple as possible testcase preferably including makefile for linux/unix platform.
Thanks, Karel On Tue, 15 Nov 2005, Himanshu Malla wrote:
Hi All, I'm new to CORBA. I'm using MICO version 2.3.11. I have a client exe which instantiates a callback object and provides the reference to a server function through server reference . After the Call Back Object function is called by the Server , the client exits calling the orb->destroy function from the executable. This works fine for the first time. When i execute the client exe again(on the same machine where i had ran the client exe previously) the Server Executable exits with segmentation fault during the call back execution. If i comment the orb->destroy() in the client the client and server are working properly. But it may be leaking. The client is created with TRANSIENT and USER_ID POA Policies. Nothing else is being set in the client side other than these. In the server i am using "RootPOA" The stack Trace and error in GDB during segmentation fault of Server are as follows #0 0xb734a4ce in std::_Rb_tree<CORBA::Address const*, std::pair<CORBA::Address const* const, MICO::GIOPConn*>, std::_Select1st<std::pair<CORBA::Address const* const, MICO::GIOPConn*> >, MICO::IIOPProxy::addrcomp, std::allocator<std::pair<CORBA::Address const* const, MICO::GIOPConn*> > >::find(CORBA::Address const* const&) () from /usr/local/lib/libmico2.3.11.so #1 0xb7340e9e in MICO::IIOPProxy::make_conn(CORBA::Address const*, unsigned char, unsigned short) () from /usr/local/lib/libmico2.3.11.so #2 0xb7341830 in MICO::IIOPProxy::make_conn(CORBA::Object*) () from /usr/local/lib/libmico2.3.11.so #3 0xb7341ea2 in MICO::IIOPProxy::invoke(CORBA::ORBInvokeRec*, CORBA::Object*, CORBA::ORBRequest*, CORBA::Principal*, unsigned char) () from /usr/local/lib/libmico2.3.11.so #4 0xb7318fb1 in CORBA::ORB::invoke_async(CORBA::Object*, CORBA::ORBRequest*, CORBA::Principal*, unsigned char, CORBA::ORBCallback*, CORBA::ORBInvokeRec*) () from /usr/local/lib/libmico2.3.11.so #5 0xb7364a2e in CORBA::StaticRequest::invoke() () from /usr/local/lib/libmico2.3.11.so #6 0x0805626a in ABCInterface::ABCClient_stub::createABCSessionCb(ABCInterfaceDefs::CreateABCSessionResult const&) () #7 0x0805d519 in ABCServer_impl::createABCSession(long, long, char const*, char const*, char const*) () #8 0x0805a0c9 in POA_ABCInterface::ABCServer::dispatch(CORBA::StaticServerRequest*) () #9 0x0805a8dc in POA_ABCInterface::ABCServer::invoke(CORBA::StaticServerRequest*) () #10 0xb73b4fa6 in PortableServer::StaticImplementation::doinvoke(CORBA::ServerRequestBase*) () from /usr/local/lib/libmico2.3.11.so #11 0xb73c79a2 in MICOPOA::POA_impl::perform_invoke(MICOPOA::POA_impl::InvocationRecord*) () from /usr/local/lib/libmico2.3.11.so #12 0xb73c6ec4 in MICOPOA::POA_impl::local_invoke(MICOPOA::POA_impl::InvocationRecord*) () from /usr/local/lib/libmico2.3.11.so #13 0xb73c66a6 in MICOPOA::POA_impl::invoke(CORBA::ORBInvokeRec*, CORBA::Object*, CORBA::ORBRequest*, CORBA::Principal*, unsigned char) () from /usr/local/lib/libmico2.3.11.so #14 0xb7318fb1 in CORBA::ORB::invoke_async(CORBA::Object*, CORBA::ORBRequest*, CORBA::Principal*, unsigned char, CORBA::ORBCallback*, CORBA::ORBInvokeRec*) () from /usr/local/lib/libmico2.3.11.so #15 0xb73475f8 in MICO::IIOPServer::exec_invoke_request(MICO::GIOPInContext&, CORBA::Object*, CORBA::ORBRequest*, CORBA::Principal*, unsigned char, MICO::GIOPConn*, CORBA::ORBInvokeRec*) () from /usr/local/lib/libmico2.3.11.so #16 0xb734791e in MICO::IIOPServer::handle_invoke_request(MICO::GIOPConn*, MICO::GIOPInContext&) () from /usr/local/lib/libmico2.3.11.so #17 0xb7346e5b in MICO::IIOPServer::handle_input(MICO::GIOPConn*, CORBA::Buffer*) () from /usr/local/lib/libmico2.3.11.so #18 0xb734916f in MICO::IIOPServer::input_callback(MICO::GIOPConn*, CORBA::Buffer*) () from /usr/local/lib/libmico2.3.11.so #19 0xb733e0f0 in MICO::GIOPConn::do_read(unsigned char) () from /usr/local/lib/libmico2.3.11.so #20 0xb733f204 in MICO::GIOPConn::callback(CORBA::Transport*, CORBA::TransportCallback::Event) () from /usr/local/lib/libmico2.3.11.so #21 0xb7331d25 in MICO::SocketTransport::callback(CORBA::Dispatcher*, CORBA::Dispatcher::Event) () from /usr/local/lib/libmico2.3.11.so #22 0xb72faf0b in MICO::SelectDispatcher::handle_fevents(fd_set&, fd_set&, fd_set&) () from /usr/local/lib/libmico2.3.11.so #23 0xb72fb959 in MICO::SelectDispatcher::run(unsigned char) () from /usr/local/lib/libmico2.3.11.so #24 0xb7315510 in CORBA::ORB::run() () from /usr/local/lib/libmico2.3.11.so #25 0x0805e50c in testFun(void*) () #26 0xb75d0dac in start_thread () from /lib/tls/libpthread.so.0 #27 0xb6fde9ea in clone () from /lib/tls/libc.so.6 Could anybody tell me, how to fix this problem. Any specific POA policies need to be set ?? I need to call the client exe to be executed again and again Thanx in advance. Himanshu.
-- Karel Gardas [EMAIL PROTECTED] ObjectSecurity Ltd. http://www.objectsecurity.com _______________________________________________ Mico-devel mailing list [email protected] http://www.mico.org/mailman/listinfo/mico-devel
