Re: [External] Re: OmniORB-4.2.2 compiled with gcc8 and C++14 leads into crash
Prasath via omniORB-list <[email protected]> Tue, 23 Apr 2019 10:05:48 +0000
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <MWHP102MB0095836A36E0558BA9CB9824EB230@MWHP102MB0095.NAMP102.PROD.OUTLOOK.COM> |
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 <[email protected]> Sent: Tuesday, April 23, 2019 3:25 PM To: Prasath Palaniappan <[email protected]>; [email protected]; [email protected] Cc: Shankar Chinnusamy <[email protected]> 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 <[email protected]><mailto:[email protected]> Sent: Tuesday, April 16, 2019 5:58 PM To: Prasath Palaniappan <[email protected]><mailto:[email protected]>; [email protected]<mailto:[email protected]> Cc: Shankar Chinnusamy <[email protected]><mailto:[email protected]> 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 -- -- [email protected]<mailto:[email protected]> -- -- 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 [email protected]<mailto:[email protected]> http://www.omniorb-support.com/mailman/listinfo/omniorb-list _______________________________________________ omniORB-list mailing list [email protected] http://www.omniorb-support.com/mailman/listinfo/omniorb-list