IBM Support

IT01446: DEFAULT SETTING OF LC_* VARIABLES CAN CAUSE -668 ERROR RETURNED FROM SP USING 'SYSTEM' COMMAND

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

  • When the IDS startup environment doesn't contain the $LANG (or
    $LC_COLLATE, $LC_CTYPE, $LC_MONETARY, $LC_NUMERIC and $LC_TIME)
    variables, the LC_* variables inside the IDS (as shown by
    'onstat -g env') are set with default values of 'en_US.819'
    locale. Any client session that does not have these variables
    set inherits these settings.
    In these conditions an executable program that has a function
    call 'setlocale(LC_ALL,"")' will fail with -668 error if
    executed via 'SYSTEM' command thru' stored procedure.
    

Local fix

  • Set the $LANG variable in the IDS startup environment to a valid
    locale appropriate for the user's environment. These values can
    be obtained by 'locale -a' command. For example, for English
    locale they could be en_US.iso88591 or en_US.utf8.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All UNIX users                                               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * See Error Description                                        *
    * When LANG and LC_* are not set in the environment from which *
    * IDS is started, IDS assumes a default locale of en_US.819.   *
    * When a stored procedure is executed, these settings are      *
    * inherited by programs or scripts invoked through the         *
    * system() call. Under these circumstances, a stored procedure *
    * that directly or indirectly calls setlocale(LC_ALL, "") will *
    * fail whenever the en_US.819 locale is not installed.         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Upgrade to IDS version 11.50.xC5 or above or explicitly set  *
    * LC_ALL to LANG to their preferred locale before bringing up  *
    * the engine.                                                  *
    ****************************************************************
    

Problem conclusion

  • The problem is first fixed in IDS 11.50.xC5 to change the
    default locale to en_US.iso8859-1.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT01446

  • Reported component name

    IBM IDS ENTRP E

  • Reported component ID

    5724L2304

  • Reported release

    B15

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-04-30

  • Closed date

    2014-05-13

  • Last modified date

    2014-05-13

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

    IC61319

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

Fix information

  • Fixed component name

    IBM IDS ENTRP E

  • Fixed component ID

    5724L2304

Applicable component levels

  • RB15 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSGU8G","label":"Informix Servers"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B15","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
13 May 2014