[omniORB] RE: Problem with IRIX 6.3

Sai-Lai Lo S.Lo@uk.research.att.com
27 Apr 1999 11:51:35 +0100


Nilo,

As a general advice to all Irix users, it is best to apply all the patches
SGI supply for the C++ compiler and anything related to pthread. Otherwise
it is almost certain that omniORB programs would crash.

Back to your question, your stack trace indicated that eg2_clt completed
the call successfully, so it exits and the connection is closed. A thread
inside eg2_impl sees the connection closed and throws a COMM_FAILURE
exception. This is normal. The exception is caught in a try block before
the thread exits orderly. The stack trace seems to indicate that the
compiler runtime failed to locate the try block and hence decided that the
exception was not caught and so called abort.

Looks to me it is a compiler bug.

Regards,

Sai-Lai



> I had compiled OmniORB under IRIX 6.3 (O2) with
> 7.2.1 C++ compiler with success. Also
> the first exemple (eg1) works fine too. However,
> I am unable to run from exemple 2 on. I went to
> the OmniORB list to try to figure out what the
> problem was. I had several fine suggestions (like
> putting the libraries in a different order) that
> worked fine for running Omninames, but didn't help
> much in my latest problem (exemple 2).

> I called SGI and reported the problem. They are
> sending me the latest patches, for the machine, 
> posix and compiler which I did not yet try. I had
> some suggestions that I should try all SGI patches,
> so that's what I will do.

> Nevertheless I can't understand the reason why it
> is not working. I hope you or someone at AT&T 
> research could shed some light in this.

> I wrote a bug report following this message
> showing the bug history.

> Thanks in advance for your help.

> Dr Nilo Stolte
> Oktal - France


> ++++++++++++++++++++++++++++++++++++++++++++++

> Launched Server

> dbx ./eg2_impl
> dbx version 7.2.1 Mar 13 1998 19:00:36
> Overlapping regions: finding functions/setting breakpoints
> may not work reliably till program is run (rld moves DSOs,
> removing overlaps).
> Overlapping regions: 0x5fee0000 to 0x5ffb9000 and 0x5fef0000 to 0x5ffb8000
> Executable /usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/examples/echo/./eg2_impl
> (dbx) r
> Process  5401 (eg2_impl) started
> 'IOR:000000000000000d49444c3a4563686f3a312e3000000000000000010000000000000028000100000000000b3132302e302e302e3633000004256e200000000c3720b0ecd186f51900000002'


> Launched Client

> dbx ./eg2_clt
> dbx version 7.2.1 Mar 13 1998 19:00:36
> Overlapping regions: finding functions/setting breakpoints
> may not work reliably till program is run (rld moves DSOs,
> removing overlaps).
> Overlapping regions: 0x5fee0000 to 0x5ffb9000 and 0x5fef0000 to 0x5ffb8000
> Executable /usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/examples/echo/./eg2_clt
> (dbx) r 'IOR:000000000000000d49444c3a4563686f3a312e3000000000000000010000000000000028000100000000000b3132302e302e302e3633000004256e200000000c3720b0ecd186f51900000002'
> Process  5413 (eg2_clt) started
> I said,"Hello!". The Object said,"Hello!"


> Launched Server

> Assertion failed in file "../../c++runtime/throw.cxx", line 941
> Process  5401 (eg2_impl) stopped on signal SIGABRT: Abort (see abort(3c)) (default) at [_kill:15 +0x8,0xfadc5f8]
>          Source (of /xlv14/patches/3082/work/irix/lib/libc/libc_n32_M4/signal/kill.s) not available for Process  5401
> where
> - -->
>    0 _kill(0x154a, 0x6, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/xlv14/patches/3082/work/irix/lib/libc/libc_n32_M4/signal/kill.s":15, 0xfadc5f8]
>    1 _raise(0x0, 0x6, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/xlv14/patches/3082/work/irix/lib/libc/libc_n32_M4/signal/raise.c":25, 0xfadcd10]
>    2 abort(0x154a, 0x6, 0x0, 0x0, 0x3, 0xa2, 0x0, 0xfb53028) ["/xlv14/patches/3082/work/irix/lib/libc/libc_n32_M4/gen/abort.c":41, 0xfa2fec4]
>    3 ::unwind_to_a_region(__Unwind_Handle*,a_rt_region*,a_throw_stack_entry**)(0x1017e320, 0x100d3f78, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/slayer_xlv0/ficussg-nov05/work/cmplrs/c++runtime/throw.cxx":941, 0xaf372a0]
>    4 ::find_parent_rt_region(__Unwind_Handle*,a_rt_region*,a_rt_region*)(0x0, 0x100d4008, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/slayer_xlv0/ficussg-nov05/work/cmplrs/c++runtime/throw.cxx":632, 0xaf36bb4]
>    5 ::__throw(0x0, 0x6, 0x0, 0x5ffe4dc0, 0x100d4580, 0x0, 0x100d4580, 0x1004f360) ["/slayer_xlv0/ficussg-nov05/work/cmplrs/c++runtime/throw.cxx":1760, 0xaf3830c]
>    6 tcpSocketStrand::ll_recv(void*,unsigned int)(0x1004f288, 0x100b2638, 0x2008, 0x0, 0x3, 0xa2, 0x1004f288, 0x0) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/tcpSocketMTfactory.cc":701, 0x5ff9c78c]
>    7 reliableStreamStrand::fetch(unsigned long)(0x1004f288, 0x0, 0x0, 0x0, 0x3, 0x2008, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/relStream.cc":252, 0x5ff9386c]
>    8 reliableStreamStrand::receive(unsigned int,unsigned char,int,unsigned char)(0x1004f288, 0xc, 0x0, 0x8, 0x3, 0xa2, 0x4, 0x0) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/relStream.cc":116, 0x5ff9257c]
>    9 NetBufferedStream::receive(unsigned int,unsigned char)(0x100d43c4, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/nbufferedStream.cc":327, 0x5ff65708]
>    10 NetBufferedStream::get_char_array(unsigned char*,int,omni::alignment_t,unsigned char)(0x100d43c4, 0x100d4468, 0x8, 0x1, 0x3, 0xa2, 0x1004f288, 0x100d43c4) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/include/omniORB2/bufferedStream.h":433, 0x5ff64588]
>    11 GIOP_S::dispatcher(Strand*)(0x1004f288, 0x6, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/giopServer.cc":312, 0x5ff4977c]
>    12 tcpSocketWorker::_realRun(void*)(0x1004f288, 0x6, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/tcpSocketMTfactory.cc":1124, 0x5ff9e7ec]
>    13 omniORB::giopServerThreadWrapper::run(void (*)(void*),void*)(0x1002a1e0, 0x5ff9e724, 0x1004f288, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/include/omniORB2/omniORB.h":453, 0x5ff37170]
>    14 tcpSocketWorker::run(void*)(0x1004ea18, 0x1004f288, 0x0, 0x0, 0x3, 0xa2, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omniORB2/orbcore/tcpSocketMTfactory.cc":1098, 0x5ff9e708]
>    15 ::omni_thread_wrapper(0x1004ea18, 0x6, 0x0, 0x0, 0x0, 0x0, 0x4, 0xfb53028) ["/usr/people/defense/extensions/CORBA/omniORB_2.7.1/src/lib/omnithread/posix.cc":410, 0x5822d0]
>    16 _SGIPT_pt_start() ["/xlv23/patches/2420/work/irix/lib/libpthread/libpthread_n32_M3/pt.c":785, 0x3ff40aa0]


> System Message

> Critical System Error
> ALERT: Process[eg2_clt] 5415 generated trap, but has signal 5 held or ignored





> - -----== Sent via Deja News, The Discussion Network ==-----
> http://www.dejanews.com/  Easy access to 50,000+ discussion forums

-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 223 343000
Cambridge CB2 1QA                     Fax:   +44 223 313542
ENGLAND