[omniORB] OmniOrb, TAO lib problem (Linux)

Roland Spatzenegger spatzenegger at 4soft.de
Tue May 31 20:01:00 BST 2005


Hi,
we have a corba Client in C++ which communicates with a CorbaServer 
through the ACE/TAO-ORB. Later in the project we decided to include 
python with corba support in this client and we added OmniOrbPy to the 
Client.  If a python request enters the client through TAO, a python 
interpreter is forked and a python script is executed All worked well, 
until we tried it on some other machines. Now it crashes.
It looks like, that the _omnipymodule.so calls a function in libTAO 
(which is fatal).
Has anyone an idea how to prevent this? (Except using OmniOrb instead of 
TAO ;-)
Is it possible to unnload shared libraries?
With gdb I get the following coredump:


(gdb)  backtrace
#0  0x00000002 in ?? ()
#1  0xb7d5593d in CORBA::Object::_is_a (this=0x81880fc,
    type_id=0xb6f7e074 "IDL:omg.org/CosNaming/NamingContext:1.0")
    at CORBA_String.inl:49
#2  0xb718d2b7 in omnipy_narrow ()
   from /usr/local/lib/python2.3/site-packages/_omnipymodule.so
#3  0xb79eced1 in PyCFunction_Call () from /usr/lib/libpython2.4.so.1.0

 (gdb) info linkmap
00000000                              
b7e51000 /usr/local/ace/lib/libACE.so.5
b7bef000 /usr/local/ace/lib/libTAO.so.1
b7bbe000 /usr/local/ace/lib/libTAO_CosNaming.so.1
b7a9e000 /usr/local/ace/lib/libTAO_PortableServer.so.1
b79a5000 /usr/lib/libpython2.4.so.1.0 
b7994000 /lib/tls/i686/libpthread.so.0
b78cb000 /usr/lib/libstdc++.so.6      
b78a7000 /lib/tls/i686/libm.so.6      
b789f000 /lib/libgcc_s.so.1           
b778c000 /lib/tls/i686/libc.so.6      
b7779000 /lib/tls/i686/librt.so.1     
b7775000 /lib/libdl.so.2              
b7770000 /lib/libutil.so.1            
b7fea000 /lib/ld-linux.so.2           
b7749000 /lib/libnss_files.so.2       
b7744000 /lib/libnss_dns.so.2         
b7732000 /lib/libresolv.so.2          
b7465000 /usr/lib/python2.4/lib-dynload/datetime.so
b745a000 /usr/lib/python2.4/lib-dynload/_socket.so
b7456000 /usr/lib/python2.4/lib-dynload/_ssl.so
b7406000 /lib/libssl.so.4             
b731e000 /lib/libcrypto.so.4          
b730a000 /usr/lib/libgssapi_krb5.so.2 
---Type <return> to continue, or q <return> to quit---
b72a5000 /usr/lib/libkrb5.so.3        
b72a2000 /lib/libcom_err.so.2         
b7281000 /usr/lib/libk5crypto.so.3    
b7271000 /usr/lib/libz.so.1           
b71e9000 /usr/lib/python2.4/lib-dynload/strop.so
b71e6000 /usr/lib/python2.4/lib-dynload/math.so
b71e1000 /usr/lib/python2.4/lib-dynload/binascii.so
b71de000 /usr/lib/python2.4/lib-dynload/_random.so
b71da000 /usr/lib/python2.4/lib-dynload/fcntl.so
b71d5000 /usr/lib/python2.4/lib-dynload/time.so
b71d1000 /usr/lib/python2.4/lib-dynload/collections.so
b7179000 /usr/local/lib/python2.3/site-packages/_omnipymodule.so
b7002000 /usr/local/lib/libomniORB4.so.0
b6ffc000 /usr/local/lib/libomnithread.so.3






More information about the omniORB-list mailing list