IBM Support

PH69199: INCORRECT DYNAMIC_CAST NULL RETURN ON CAST WITH DUPLICATE TYPE_INFO IN SEPARATE MODULES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A dynamic_cast fails with a NULL return value on an expected
    successful cast using a target type found in two separate
    modules (main executable and DLL, or two DLLs).
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Open XL C/C++ 2.1 particularly      *
    *                 those                                        *
    *                 employing dynamic_cast or exception          *
    *                 handling involving the casting               *
    *                 and comparison of type_info objects across   *
    *                 DLL boundaries,                              *
    *                 may encounter discrepancies.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: The type_info objects across DLL        *
    *                      boundaries,                             *
    *                      even when referring to identical        *
    *                      object have different addresses         *
    *                      and not treated as equivalent.          *
    ****************************************************************
    * RECOMMENDATION: After applying the PTF,                      *
    *                 recompile the entire application if any of   *
    *                 the following                                *
    *                 type_info object functions are utilized:     *
    *                 before(), hash_code(), operator==, or        *
    *                 operator!=.                                  *
    *                 This measure ensures compatibility and       *
    *                 correct behaviour                            *
    *                 of these functions post-PTF installation.    *
    ****************************************************************
    The compiler will perform string comparison
    of type_info when comparing their addresses fail to make sure
    type_info across DLL boundaries are found to be equivalent.
    

Problem conclusion

  • The addition of comparing `__type_name_t` is encoding
    sensitive.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH69199

  • Reported component name

    ANSI C++ CLASS

  • Reported component ID

    568819807

  • Reported release

    7D0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-11-27

  • Closed date

    2025-12-01

  • Last modified date

    2025-12-12

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PH69200 PH69201 UO06020

Modules/Macros

  • CELQDEST CRTDHCXA CRTDHCXE CRTDHCXG CRTDHCXH CRTDHCXP CRTDHCXS
    CRTDHUNW CRTDNCXA CRTDNCXE CRTDNCXH CRTDNCXP CRTDNUNW CRTDOCXA
    CRTDQCXA CRTDQCXE CRTDQCXG CRTDQCXH CRTDQCXP CRTDQCXS CRTDQUNW
    CRTDQXLA CRTEHCXA CRTEHCXE CRTEHCXG CRTEHCXH CRTEHCXP CRTEHCXS
    CRTEHUNW CRTENCXA CRTENCXE CRTENCXH CRTENCXP CRTENUNW CRTEOCXA
    CRTEQCXA CRTEQCXE CRTEQCXG CRTEQCXH CRTEQCXP CRTEQCXS CRTEQUNW
    CRTEQXLA EDCHDEST
    

Fix information

  • Fixed component name

    ANSI C++ CLASS

  • Fixed component ID

    568819807

Applicable component levels

  • R7D0 PSY UO06020

       UP25/12/12 I 1000

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSTLTF","label":"z\/OS XL C\/C++"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7D0","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
12 December 2025