[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

C++ Exception in omniORB2.7.1




On Tue, 13 Jul 1999 king at syscon.soongsil.ac.kr wrote:

> Hello
> I am Lee young ki
> I am porting omniORB in rtems
> but exception function isn't work
> Simple Exception program was worked but exception in omniORB is not worked.
> I insert breakpoint(GDB) in tcpSocketMTfactoty(ll_recv).
>  /*...*/
>  if (rx == 0) {
>     breakpoint();
>     _setStrandIsDying();
>  /*...*/

You don't say what target CPU you are using and that is important here as
toolset target specific configuration issues have to be addressed to make
this work.

There are/were known problems throwing C++ exceptions that had to be
addressed to get omniORB working with RTEMS.  Rosimildo DaSilva
<rdasilva at connecttel.com> worked on this and made an announcement on
rtems-list this week regarding this.  I recommend you check out his web
site on the port:

http://www.connecttel.com/corba/rtems_omni.html

--joel
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985


> 
> ----> GDB Output ---->
> tcpSocketStrand::ll_recv (this=0x1bcb27c, buf=0x1bc7258, sz=8196)
>     at ../../../../include/omniORB2/rope.h:513
> 513       void _setStrandIsDying() { pd_dying = 1; return; }
> Current language:  auto; currently c++
> (gdb) s
> 702             throw CORBA::COMM_FAILURE(0,CORBA::COMPLETED_MAYBE);
> (gdb) s
> 341         throw CORBA::COMM_FAILURE(errno,CORBA::COMPLETED_NO);
> (gdb) s
> CORBA::COMM_FAILURE::~COMM_FAILURE (this=0x1ba7f4, __in_chrg=2) at exceptn.cc:34
> 34      CORBA::Exception::~Exception() {}
> (gdb) s
> 161     STD_EXCEPTION (COMM_FAILURE)
> (gdb) s
> 0x119698 in CORBA::COMM_FAILURE type_info function ()
>     at ../../../../include/omniORB2/IOP.h:125
> 125           return profiles.NP_alignedSize(alignedsize);
> (gdb) s
> 0x1198c4 in CORBA::SystemException type_info function ()
>     at ../../../../include/omniORB2/IOP.h:125
> 125           return profiles.NP_alignedSize(alignedsize);
> (gdb) s
> 0x119904 in CORBA::Exception type_info function ()
>     at ../../../../include/omniORB2/IOP.h:125
> 125           return profiles.NP_alignedSize(alignedsize);
> (gdb) s
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x46e in ?? ()
> (gdb) 
> 
> I don't fix this
> teach me
> thank you
>