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

Prasath_Palaniappan at amat.com Prasath_Palaniappan at amat.com
Tue Apr 23 11:05:48 BST 2019


Hi Serguei,

Thanks for the suggestion.

Actually I have done the same what you suggested. I have removed the 'throw(...)' specifications completely from all the functions.
I am getting the issue with that only.

Thanks & Regards,
P. Prasath.

From: Serguei Kolos <serguei.kolos at cern.ch>
Sent: Tuesday, April 23, 2019 3:25 PM
To: Prasath Palaniappan <Prasath_Palaniappan at amat.com>; duncan at grisby.org; 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.


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><mailto:duncan at grisby.org>
Sent: Tuesday, April 16, 2019 5:58 PM
To: Prasath Palaniappan <Prasath_Palaniappan at amat.com><mailto:Prasath_Palaniappan at amat.com>; omniorb-list at omniorb-support.com<mailto:omniorb-list at omniorb-support.com>
Cc: Shankar Chinnusamy <Shankar_Chinnusamy at amat.com><mailto: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<mailto: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/a3451c55/attachment-0001.html>


More information about the omniORB-list mailing list