Fixes are available
December 2006 IBM C++ Runtime Environment Components for AIX
November 2006 IBM C++ Runtime Environment Components for AIX
February 2007 IBM C++ Runtime Environment Components for AIX
June 2006 IBM C++ Runtime Environment Components for AIX
April 2009 XL C/C++ Enterprise Edition V8.0 for AIX PTF
August 2007 XL C/C++ Enterprise Edition V8.0 for AIX PTF
May 2007 XL C/C++ Enterprise Edition V8.0 for AIX PTF
April 2006 IBM C++ Runtime Environment Components for AIX
December 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
July 2007 XL C/C++ Enterprise Edition V8.0 for AIX PTF
July 2007 IBM C++ Runtime Environment Component for AIX
June 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
November 2005 IBM C++ Runtime Environment Components for AIX
March 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
May 2008 XL C/C++ Enterprise Edition V8.0 for AIX PTF
February 2008 XL C/C++ Enterprise Edition V8.0 for AIX PTF
August 2008 XL C/C++ Enterprise Edition V8.0 for AIX PTF
March 2006 IBM C++ Runtime Environment Components for AIX
November 2008 XL C/C++ Enterprise Edition V8.0 for AIX PTF
January 2006 IBM C++ Runtime Environment Components for AIX
February 2007 XL C/C++ Enterprise Edition V8.0 for AIX PTF
November 2007 XL C/C++ Enterprise Edition V8.0 for AIX PTF
August 2006 IBM C++ Runtime Environment Components for AIX
August 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
May 2006 XL C/C++ Enterprise Edition V8.0 for AIX PTF
April 2007 VisualAge C++ Professional V6.0 for AIX PTF
April 2007 IBM C++ Runtime Environment Components for AIX
October 2006 IBM C++ Runtime Environment Components for AIX
September 2005 IBM C++ Runtime Environment Components for AIX
July 2009 XL C/C++ Enterprise Edition V8.0 for AIX PTF
October 2009 XL C/C++ Enterprise Edition V8.0 for AIX PTF
APAR status
Closed as program error.
Error description
-qeh=v6 user who have nasted try-catch where the catch handler is exited via a break/continue/goto statement. Core dump at runtime in nested loop and try block when compiling and running the following source code: Testcase: -------- #include <iostream> using namespace::std; int func() { int retry; int i = 0; do { retry = 0; for( ; i < 1 ; i++ ) { try { try { throw 2; } catch( const int& ex1 ) { cout << "finc1:int exception : "<< ex1 << endl; retry = 1; break; } } catch( const char& ex2 ) { cout << "func2:char exception : " << ex2 <<endl; } } } while(retry); return 1; } int main(int argc, char* const* argv) { int rc = 0; try{ throw 1; }catch( const int& ex3 ) { cout << "main:int exception : " << ex3 << endl; rc = func(); } return rc; } $ xlC -g -c tp1.C $ xlC -o tp1 tp1.o $ ./tp1 main:int exception : 1 finc1:int exception : 2 Abort(coredump)
Local fix
To work around the problem, -qeh=v5 can be used. Or do not use break/continue to exit from catch handler.
Problem summary
Same as submitter's text
Problem conclusion
The logic that was causing the runtime abend for nested try-catch where the catch handler is exited via a break/continue/goto statement is now fixed.
Temporary fix
Comments
APAR Information
APAR number
IY76552
Reported component name
VA C++ PROF FOR
Reported component ID
5765F5600
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2005-09-14
Closed date
2005-09-14
Last modified date
2007-04-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
VA C++ PROF FOR
Fixed component ID
5765F5600
Applicable component levels
R600 PSY U811610
07/04/30 I 1000
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Rate this page
Please take a moment to complete this form to help us better serve you.
