[omniORB] Problems with SGI and OmniORB-4.0.0

Mark Underwood mlu@cfdrc.com
Tue Jan 7 20:06:01 2003


Hello,

I am compiling OmniORB-4.0.0 on IRIX 6.5 with MIPS 7.3.1 compilers.

The only change I had to make was to define OMNI_REQUIRES_FQ_CTOR after 
the configure completed (this already seems to be fixed in cvs 
development version).

However, both the 4.0.0 and development versions dump core (SIGSEGV) 
when calling CORBA::ORB_init.

The important part of the stack is:

 >  0 omni::omni_cdrStream_initialiser::attach(void)(0x1024870, 0x0, 
0x1, 0x1, 0x0, 0x83b54, 0x1, 0x101f4868) 
["/proj/mdice/OMNI4/n32/omni/src/lib/omniORB/orbcore/cdrStream.cc":752, 
0x100f3a90]
   1 CORBA::ORB_init(int&,char**,const char*,const char*(*)[2])(0x0, 
0x0, 0x0, 0x0, 0x0, 0x101a0e60, 0x1, 0x101a0e60) 
["/proj/mdice/OMNI4/n32/omni/src/lib/omniORB/orbcore/corbaOrb.cc":615, 
0x1014e2b4]

In the omni/src/lib/omniORB/orbcore/cdrStream.cc file:

  void attach() {

    if (!orbParameters::nativeCharCodeSet)
      orbParameters::nativeCharCodeSet =                             
omniCodeSet::getNCS_C(omniCodeSet::ID_8859_1);

    if (!orbParameters::nativeWCharCodeSet)
      orbParameters::nativeWCharCodeSet = 
omniCodeSet::getNCS_W(omniCodeSet::ID_UTF_16);

    GIOP::Version ver = giopStreamImpl::maxVersion()->version();

    if (!orbParameters::anyCharCodeSet)
      orbParameters::anyCharCodeSet =
        omniCodeSet::getTCS_C(orbParameters::nativeCharCodeSet->id(), ver);

    if (!orbParameters::anyWCharCodeSet)
      orbParameters::anyWCharCodeSet =
        omniCodeSet::getTCS_W(orbParameters::nativeWCharCodeSet->id(), ver);

    // Create the tagged component for all IORs created by this ORB.
    initialise_my_code_set();

    // install interceptors
    omniInterceptors* interceptors = omniORB::getInterceptors();
    interceptors->clientSendRequest.add(setCodeSetServiceContext);
    interceptors->serverReceiveRequest.add(getCodeSetServiceContext);
  }

orbParameters::nativeCharCodeSet and orbParameters::nativeWCharCodeSet 
end up as NULL which causes problems either with setting the 
anyCharCodeSet/anyWCharCodeSet or in initialise_my_code_set().

I had found a similar question in the mailing list archive but could not 
find any replies.

Thank you for any suggestions,
Mark Underwood