[omniORB] Program aborts when registering object

Stefan Radke stefan.radke@systemonic.de
Fri, 20 Jul 2001 20:05:35 +0200


Hi again,

we have a CORBA application that uses our own Server code, omniORB 3.0.2
for Sun Solaris, and some libraries provided by Cadence, used to
simulate microchip designs. So far everything worked ok, but when we
upgrade the Cadence libraries, the application crashes.

The server starts up fine, registers its object via some wrapper
software with omniORB=B4s naming service. When a client connects to the
server, this first is successful as well, the name gets resolved an dthe
client receives the reference. Then the client tries to register a
callback at the server. When the server clals the naming service routine
'bindObjectToName', in one og the libs some error occurs which leads to
program abortion. The same wrapper routine is used to register the
server upon startup, and I checked the parameters 'context' and 'name'.

I would like to be able to isolate the instruction that causes the
error, the ture error (segmentation fault or else). Otherwise I will
never get this resolved since I can sense the finger pointing already.

This is the core dump I get:

ncsim: *internal* (Unexpected signal #6 (Abort), program terminated).

-->3452a8   ncx_ulmLicenseFeature + ac074   =

-->f936bbcc _getfp               + 220      /lib/libthread.so.1
-->f93683b8 _fork                + 850      /lib/libthread.so.1
-->f935e4fc _sigoff              + 838      /lib/libthread.so.1
-->f935dc9c _sigon               + d0       /lib/libthread.so.1
-->f9360cb0 pthread_kill         + 34c      /lib/libthread.so.1
-->f924af98 raise                + 40       /lib/libc.so.1
-->f9235734 abort                + c0       /lib/libc.so.1
-->f908d7e0 __default_terminate  + 4       =

/eda/cadence/ldv-3.2/tools/lib/libsimcontrol.so.3.2
-->f908d810 __terminate          + 20      =

/eda/cadence/ldv-3.2/tools/lib/libsimcontrol.so.3.2
-->f908e508 __throw              + 70      =

/eda/cadence/ldv-3.2/tools/lib/libsimcontrol.so.3.2
-->f9914818
userException__33_0RL_cd_69ceca6a39f685b5_e0000000R6GIOP_CPCc + 36c      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f989ed80 dispatch__18omniRemoteIdentityR18omniCallDescriptor +
4a0      /sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f989c2a8 _invoke__10omniObjRefR18omniCallDescriptorb + e4      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f9914b54
bind_new_context__Q29CosNaming21_objref_NamingContextRCQ29CosNaming4Name
+ 60       /sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0

-->3e7850   bindObjectToName__13NamingServicePQ25CORBA6ObjectPCcT2 +
22c     =

-->3e1610   __13CallbackReg_ii   + 3ac     =

-->3e5d40  =

registerCallback__14SimulatorAPI_iPQ43com10systemonic13chipinterface23_ob=
jref_CallbackHandlerRCQ43com10systemonic13chipinterface4Info
+ cc      =


-->3dc8b4  =

_dispatch__Q43com10systemonic13chipinterface18_impl_SimulatorAPIR6GIOP_S
+ 141c    =

-->f98abf4c dispatch__10omniOrbPOAR6GIOP_SP17omniLocalIdentity +
2ac      /sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f989dc94 dispatch__17omniLocalIdentityR6GIOP_S + ec      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f98e1428 HandleRequest__6GIOP_Sb + 418     =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f98e0914 dispatcher__6GIOP_SP6Strand + 254     =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f990b210 _realRun__15tcpSocketWorkerPv + 98      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f993bbcc run__Q27omniORB23giopServerThreadWrapperPFPv_vPv + 14      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f990b168 run__15tcpSocketWorkerPv + 58      =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomniORB3.so.0
-->f99d4450 omni_thread_wrapper  + 164     =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomnithread.so.2
-->f936bad0 _getfp               + 124      /lib/libthread.so.1
-->f99d42ec omni_thread_wrapper  + 0       =

/sw/omniorb_302/lib/sun4_sosV_5.5/libomnithread.so.2

Interesting is, that the registration for this server is damaged
afterwards. I cannot register it once more. I have to start another
application (with the older Cadence libs) with the same context and name
to 'repair' that entry at the naming service.

Any substantial help makes me very happy.

Thank you and have a nice weekend, Stefan.