Fixes are available
October 2009 Update for XL C/C++ for Linux, V10.1
June 2011 Update for XL C/C++ for Linux, V10.1
XL C/C++ for Linux Fix Pack 8 (January 2014 Update) for 10.1
August 2010 Update for XL C/C++ for Linux, V10.1
January 2011 Update for XL C/C++ for Linux, V10.1
January 2012 Update for XL C/C++ for Linux, V10.1
July 2012 Update for XL C/C++ for Linux, V10.1
APAR status
Closed as program error.
Error description
During the testing of an application, an exception occurs within a function that is called from within a constructor body in a complex constructor, which also involves template code.
Local fix
n/a
Problem summary
Program with the following classes: 1. Class A has class B as its member 2. Class B has class C as its member 3. The dtor of class C has code that accesses its members 4. Class B throws an exception (requires cleaning up the C object) When class B throws an exception, it invokes an Invoke_Destructor call in the RTE, passing in the object pointer of class C (object to be destroyed). The object pointer consists of 2 parts, the "this" pointer (from the object that invokes the call) + offset (ex. distance of object C from object B). Without inlining, the object pointer will be "address of B" + "distance of C from B", yielding the correct address to the C object. With FE inlining On, and class B is inlined into class A, the object pointer will be "address of A" + "distance of C from B", yielding an incorrect address. A seg fault may occur when dtor of C tries to access its members (since the object pointer to C is invalid.
Problem conclusion
The offset needs to be updated when class B is inlined into class A.
Temporary fix
Comments
APAR Information
APAR number
LI75078
Reported component name
XL C/C++ SLES10
Reported component ID
5724U8300
Reported release
A10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-12-01
Closed date
2009-12-01
Last modified date
2009-12-04
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
XL C/C++ SLES10
Fixed component ID
5724U8300
Applicable component levels
RA10 PSN IZ43436
UP06/09/13
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSJT9L","label":"XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"A.1","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]
Document Information
Modified date:
14 October 2021