IBM Support

IJ45426: APPLICATIONS BUILT WITH XL C/C++ FOR AIX, V16.1 USING IPA/PDF MAY SEGFAULT WHEN RUN WITH C++ RUNTIME FOR AIX, V17.1.1.1 PTF

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • An application compiled with XL C/C++ for AIX, V16.1 using
    IPA/PDF when run on the C++ Runtime for AIX, V17.1.1.1 PTF
    may lead to a coredump.
    
    This APAR is being used to mark the previous XL C/C++ for AIX,
    V17.1.1.1 PTF as a PE PTF.
    

Local fix

  • N/a
    

Problem summary

  • USERS AFFECTED:
    Users whose applications are built by XLC/C++ V16.1 for AIX
    xlclang++ compiler and running against the XL Open V17.1.1.1 C++
    runtime and make use of C++ exception handling,
    and either specify '#pragma execution_frequency' in conjunction
    with an optimization option or are compiled with -qpdf2 in
    conjunction with an optimization option may be affected by this
    issue.
    
    PROBLEM DESCRIPTION:
    The V17.1.1.1 C++ runtime's personality routine for V16.1
    xlclang++ compiler generated applications uses the stack to pass
    the exception object to the landing pad.
    The landing pad retrieves the exception object with a call to
    the runtime function __xlc_exception_handle(). The
    implementation incorrectly assumes that __xlc_exception_handle()
    should go up one stack frame to get to the stack frame of the
    caller of __xlc_exception_handle(), which is supposedly the
    stack frame of the function containing the landing pad.
    However, this does not always work, e.g., the xlclang++ compiler
    generates a wrapper of __xlc_exception_handle() and calls the
    wrapper from the landing pad for optimization purposes.
    

Problem conclusion

  • This problem is pervasive and should be fixed. This APAR is
    being used to mark the previous V17.1.1.1 PTF as a PE PTF.
    Since this is a problem in the XL Open V17.1.1 C++ runtime that
    affects the binary compatibility with XLC/C++ V16.1 compiled
    applications,
    the fix is in the XL Open V17.1.1 C++ runtime not in XLC/C++
    V16.1 compiler or runtime.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ45426

  • Reported component name

    XL C/C++ FOR AI

  • Reported component ID

    5725C7200

  • Reported release

    H11

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-02-15

  • Closed date

    2023-02-27

  • Last modified date

    2023-02-27

  • 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++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"H11","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
27 February 2023