[omniORB] [External] Re: OmniORB-4.2.2 compiled with gcc8 and C++14 leads into crash

Serguei Kolos serguei.kolos at cern.ch
Tue Apr 23 10:54:43 BST 2019


Hi Prasath

You mentioned that in order to compile omniORB with c++17 option you 
have removed the 'throw'
specifications from some functions declarations. How did you actually do 
that? Could it be
that you have made this modification in the following way:

     void f() throw (BadParam)   => void f() throw ()

The crash which you get normally happens in one of the two cases:

  1) A function declares 'throw(A)' but actually throws a different 
exception 'B'.
  2) A function is declared as not throwing any exception using 
'throw()' declaration but actually throws an exception.

So I would suggest you to check that you have removed the 'throw(...)' 
specifications completely
from all the functions concerned and don't have 'throw()' terms left 
anywhere in these functions
declarations.

Cheers,
Serguei

On 4/23/19 11:01 AM, Prasath via omniORB-list wrote:
> Hi Duncan,
> Thanks for the response.
> Please find the answers below,
> *Where did the compiler come from? *
> gcc 8.2 (gcc-8.2.0.tar.gz) is downloaded from _https://gcc.gnu.org/_
> *Did you compile it yourself? *
> Yes, we compiled it (gcc-8.2.0.tar.gz). Arguments to gcc configure 
> script below,
> $./configure --prefix=/usr/local/gcc-8.2-powerpc-ibm-aix6.1.0.0 
> --build=powerpc-ibm-aix6.1.0.0 --without-gnu-as --with-as=/usr/bin/as 
> --without-gnu-ld --with-ld=/usr/bin/ld --disable-nls --disable-shared 
> --enable-languages=c++ --enable-checking=release --enable-bootstrap 
> -enable-version-specific-runtime-libs
> $make install
> *What does "g++ -v" report?*
> bash-4.4$ ./g++ -v
> Using built-in specs.
> COLLECT_GCC=./g++
> COLLECT_LTO_WRAPPER=/usr/local/gcc-8.2-powerpc-ibm-aix6.1.0.0/libexec/gcc/powerpc-ibm-aix6.1.0.0/8.2.0/lto-wrapper
> Target: powerpc-ibm-aix6.1.0.0
> Configured with: 
> /disks/smithers3/workplaces/build/gcc-8.2/gcc-8.2.0/configure 
> --prefix=/usr/local/gcc-8.2-powerpc-ibm-aix6.1.0.0 
> --build=powerpc-ibm-aix6.1.0.0 --without-gnu-as --with-as=/usr/bin/as 
> --without-gnu-ld --with-ld=/usr/bin/ld --disable-nls --disable-shared 
> --enable-languages=c++ --enable-checking=release --enable-bootstrap 
> -enable-version-specific-runtime-libs
> Thread model: aix
> gcc version 8.2.0 (GCC)
> *How did you configure omniORB? What were the arguments to its 
> configure script?*
> $./configure --prefix=/usr/local/dev
> $make
> $make install
> As per your advice, we removed all the throw specifications and it got 
> compiled successfully.
> And tested again but we are getting the same termination. For your 
> reference, I have attached the completed log (it also has crash stack) 
> with this mail.
> Please provide your thoughts to proceed further.
> Thanks & Regards,
> P. Prasath.
> -----Original Message-----
> From: Duncan Grisby <duncan at grisby.org>
> Sent: Tuesday, April 16, 2019 5:58 PM
> To: Prasath Palaniappan <Prasath_Palaniappan at amat.com>; 
> omniorb-list at omniorb-support.com
> Cc: Shankar Chinnusamy <Shankar_Chinnusamy at amat.com>
> Subject: Re: [omniORB] [External] Re: OmniORB-4.2.2 compiled with gcc8 
> and C++14 leads into crash
> CAUTION: EXTERNAL EMAIL. Verify before you click links or open 
> attachments. Questions? Contact GIS.
> On Wed, 2019-04-10 at 11:03 +0000, Prasath via omniORB-list wrote:
> > OmniORB-4.2.2 has dynamic exception specifications those are
> > unsupported in C++17.
> > So we removed those unsupported dynamic exception specifications and
> > compiled the OmniORB-4.2.2 with "gcc8 and C++17".
> > virtual void visit(const char* value,Source source) throw (BadParam) =
> > 0;
> Yes, that is the right thing to do. Just remove all the throw 
> specifications. The only place that has those throw specifications is 
> in the option processing code, which is not involved at all in the 
> errors you are seeing. Whatever the problem is, it has absolutely 
> nothing to do with those throw specifications.
> > Apart from those changes what else need to be done to compile the
> > OmniORB-4.2.2 with "gcc8 and C++17" properly?
> Nothing. It works fine with just that change.
> > Clarifications:
> > As you mentioned that you have removed throw specifications in
> > OmniORB-4.3 to support future compilers and it is in development
> > branch. If so, could you please let us know when it will be released?
> There is no current timeframe for omniORB 4.3 to be released, but that 
> is irrelevant here. There are no other changes in 4.3 that are related 
> to this.
> The compiler has generated incorrect code, or the C++ runtime is 
> faulty. An exception is being thrown but it not being caught as it 
> should be by the exception handler.
> Where did the compiler come from?  Did you compile it yourself?  What 
> does "g++ -v" report?
> How did you configure omniORB?  What were the arguments to its 
> configure script?
> Duncan.
> --
> -- Duncan Grisby         --
>   -- duncan at grisby.org <mailto:duncan at grisby.org>     --
>    -- http://www.grisby.org --
> The content of this message is APPLIED MATERIALS CONFIDENTIAL. If you 
> are not the intended recipient, please notify me, delete this email 
> and do not use or distribute this email.
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20190423/205a3e76/attachment.html>


More information about the omniORB-list mailing list