IBM Support

PH66037: EBCDIC CENT CHARACTER '¢' CAUSES OPEN XL TO CRASH WITH PARSER ERROR

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • EBCDIC input source code to ibm-clang that contains an EBCIDC
    '¢' character literal (i.e. 0x4A) encounters an internal error
    with the traceback below:
    
    ===================================================
    Assertion failed: idx < size(), file:
    llvm/include/llvm/ADT/SmallVector.h, line: 304
    PLEASE submit a bug report to
    https://ibm.biz/internal-compiler-error and include the crash
    backtrace, preprocessed source, and associated run script.
    Stack dump:
    0.      Program arguments: ibm-clang -cc1 -triple
    s390-ibm-zos-stdlink .....
    1.      test.c:1:13: current parser token ''¢''
    ...
    CEE5207E The signal SIGABRT was received.
    ibm-clang: error: unable to execute command: 3
    ibm-clang: error: clang frontend command failed due to signal
    (use -v to see invocation)
    ===================================================
    

Local fix

  • A potential workaround is to replace the 'cent' character with a
    manual escape character:
    
    //char cent = '¢';
    char cent = '\x4A';
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users who have source files with extended    *
    *                 characters. Those are the ones who ASCII     *
    *                 equivalent have code points greater than     *
    *                 0x7F. The `cent` or euro` is one of the      *
    *                 examples of those. In addition CICS users    *
    *                 are affected since some CICS headers have    *
    *                 those characters.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: Compiler failed to do a proper          *
    *                      translation and tried to dereference    *
    *                      an empty string resulting with          *
    *                      "Assertion failed: idx < size()".       *
    ****************************************************************
    * RECOMMENDATION: Apply the PTF                                *
    ****************************************************************
    Compiler asserts with "Assertion failed: idx < size()" when
    encounters such character.
    

Problem conclusion

  • Some characters which are converted from EBCDIC like IBM-1047
    charset to UTF-8 encoding, it expands into multibyte characters
    which then fails to be translated back to EBCDIC.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH66037

  • Reported component name

    C/C++ FOR MVS

  • Reported component ID

    56551210A

  • Reported release

    7C3

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-04-07

  • Closed date

    2025-05-05

  • Last modified date

    2025-05-10

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

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

Modules/Macros

  • CNW$P00  CNW$P0X  CNWC001  CNWC002  CNWC003  CNWC004  CNWC005
    CNWC006  CNWC007  CNWC008  CNWC009  CNWC00A  CNWC00B  CNWC00C
    CNWC00D  CNWC00E  CNWC00F  CNWC010  CNWC011  CNWC012  CNWC013
    CNWC014  CNWC015  CNWC016  CNWC017  CNWC018  CNWC019  CNWC01A
    CNWC01B  CNWC01C  CNWCH001 CNWCH002 CNWCH003 CNWCH004 CNWCH005
    CNWCH006 CNWCH007 CNWCH008 CNWCH009 CNWCH010 CNWCH011 CNWCH012
    CNWCH013 CNWCH014 CNWCH015 CNWCH016 CNWCH017 CNWCH018 CNWCH019
    CNWCH01A CNWCH01B CNWCH01C CNWCH01D CNWCH01E CNWCH01F CNWCH020
    CNWCH021 CNWCH022 CNWCH023 CNWCH024 CNWCH025 CNWCH026 CNWCH027
    CNWCH028 CNWCH029 CNWCH02C CNWCH02D CNWCH02E CNWCH02F CNWISMKD
    CNWJIVP1 CNWJIVP2 CNWLDMD  CNWMKDIR CNWOX210 CNWPH001 CNWPH002
    CNWPH003 CNWPH004 CNWPH005 CNWPH006 CNWPH007 CNWPH008 CNWPH009
    CNWPH00A CNWPH00B CNWPH00C CNWPH00D CNWPH00E CNWPH00F CNWPH010
    CNWPH011 CNWPH012 CNWPH013 CNWPH014 CNWPH015 CNWPH016 CNWPH017
    CNWPH018 CNWPH019 CNWPH01A CNWPH01B CNWPH01C CNWPH01D CNWPH01E
    CNWPH01F CNWPH020 CNWPH021 CNWPH022 CNWPH023 CNWPH024 CNWPH025
    CNWPH026 CNWPH027 CNWPH028 CNWPH029 CNWPH02A CNWPH02B CNWPH02C
    CNWPH02D CNWPH02E CNWPH02F CNWPH030 CNWPH031 CNWPH032 CNWPH033
    CNWPH034 CNWPH035 CNWPH036 CNWPH037 CNWPH038 CNWPH039 CNWPH03A
    CNWPH03B CNWPH03C CNWPH03D CNWPH03E CNWPH03F CNWPH040 CNWPH041
    CNWPH042 CNWPH043 CNWPH044 CNWPH045 CNWPH046 CNWPH047 CNWPH048
    CNWPH049 CNWPH04A CNWPH04B CNWPH04C CNWPH04D CNWPH04E CNWPH04F
    CNWPH050 CNWPH051 CNWPH052 CNWPH053 CNWPH054 CNWPH055 CNWPH056
    CNWPH057 CNWPH058 CNWPH059 CNWPH05A CNWPH05B CNWPH05C CNWPH05D
    CNWPH05E CNWPH05F CNWPH060 CNWPH061 CNWPH062 CNWPH063 CNWPH064
    CNWPH065 CNWPH066 CNWPH067 CNWPH068 CNWPH069 CNWPH06A CNWPH06B
    CNWPH06C CNWPH06D CNWPH06E CNWPH06F CNWPH070 CNWPH071 CNWPH072
    CNWPH073 CNWPH074 CNWPH075 CNWPH076 CNWPH077 CNWPH078 CNWPH079
    CNWPH07A CNWPH07B CNWPH07C CNWPH07D CNWPH07E CNWPH07F CNWPH080
    CNWPH081 CNWPH082 CNWPH083 CNWPH084 CNWPH085 CNWPH086 CNWPH087
    CNWPH088 CNWPH089 CNWPH08A CNWPH08B CNWPH08C CNWPH08D CNWPH08E
    CNWPH08F CNWPH090 CNWPH091 CNWPH092 CNWPH093 CNWPH094 CNWPH095
    CNWPH096 CNWPH097 CNWPH098 CNWPH099 CNWPH09A CNWPH09B CNWPH09C
    CNWPH09D CNWPH09E CNWPH09F CNWPH0A0 CNWPH0A1 CNWPH0A2 CNWPH0A3
    CNWPH0A4 CNWPH0A5 CNWPH0A6 CNWPH0A7 CNWPH0A8 CNWPH0A9 CNWPH0AA
    

Fix information

  • Fixed component name

    C/C++ FOR MVS

  • Fixed component ID

    56551210A

Applicable component levels

  • R7C3 PSY UO03042

       UP25/05/10 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":"7C3","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}}]

Document Information

Modified date:
10 May 2025