VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ45426

⇱ 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


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

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