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

Reply via email to