[omniORB] Re: Help.!!!!! getting segmentation fault when running omniORB4 server as a task on linux-powerPC

Dan Kegel dank@kegel.com
Thu, 28 Mar 2002 09:51:16 -0800


Sheshi Sankineni <Sheshi.Sankineni@cosinecom.com> wrote:
> I downloaded omniORB4 and compiled with gcc 2.95.3 on linux-powerpc.
> 
> (gcc was downloaded gcc 2.95.3 and configured it as follows
> ./configure --prefix=/dvlp/ssankine/gcc/gcc-2.95.3 --enable-threads=posix
> - --enable-languages=c,c++,objc --with-newlib --enable-shared=libgcc,libstdc++
> and built it (doing make bootstrap) on linux-powerpc)
> 
> I then used this gcc to compile the the omniORB library on linux-powerpc.
> 
> The actual program where my ORB server (as a task) runs is compiled using
> the cross compiler
> (version 2.95.2) and used the newly compiled gcc's libraries from above
> (libstdc++-libc6.2-2-2.10.0.0.so). When I try to contact this ORB server I
> get a segmentation fault and my program aborts.
> 
> Here is the stack trace from dbg
> 
> omniORB: Server accepted connection from giop:tcp:172.xx.xx.xx:1710
> [New Thread 107626 (LWP 32151)]
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 107626 (LWP 32151)]
> 0x0f5dce94 in omni_tracedmutex::lock () from
> /dvlp/ssankine/omni-ppc/lib/libomniORB4.so.0
> (gdb) bt
> #0  0x0f5dce94 in omni_tracedmutex::lock ()
>    from /dvlp/ssankine/omni-ppc/lib/libomniORB4.so.0
> #1  0x0f680b6c in omniAsyncWorker::run ()
>    from /dvlp/ssankine/omni-ppc/lib/libomniORB4.so.0
> #2  0x0f47e244 in omni_thread_wrapper ()
>    from /dvlp/ssankine/omni-ppc/lib/libomnithread.so.3
> #3  0x0f715e84 in pthread_start_thread (arg=0x0) at manager.c:274
> #4  0x0f715ec8 in pthread_start_thread_event (arg=0x727ffc00) at
> manager.c:297
> #5  0x0f3bb11c in clone () at soinit.c:64
> 
> I would really appreciate if you let me know what is the reason for this
> segmentation fault.

I had a superficially similar problem (with omniorb3) a while ago; see
http://www.uk.research.att.com/omniORB/archives/2002-01/0025.html
for the discussion.  Turned out I needed to make sure the powerpc
had a hostname, and that its hostname was in its /etc/hosts.
Your problem may be different.  Have you run regression tests
to make sure your compiler generates good programs?
It's notoriously difficult to generate a good cross-compiler and libraries...
- Dan