IBM Support

OA40593: ABENDS0C4 _iew_openW WHEN STGPROT=ON

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • abend 0C4 in __iew_openW when STGPROT=ON
    
    ADDITIONAL KEY WORDS: COB0501T/K
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of IEWBNDD, IEWBNDDX - the Binder      *
    *                 C/C++ API DLL functions, in a subsystem      *
    *                 environment where storage-protection-        *
    *                 override control is being utilized.  For     *
    *                 example, an application running in user-key  *
    *                 under CICS with storage protection enabled.  *
    ****************************************************************
    * PROBLEM DESCRIPTION: When the first Binder C/C++ API DLL     *
    *                      function is called, it in turn calls    *
    *                      IEWBIND for the corresponding Binder    *
    *                      regular API function, which may result  *
    *                      in an ABEND.  Specifically when         *
    *                      __iew_openW() is called, an ABENDS0C4   *
    *                      was reported.                           *
    *                                                              *
    *                      An LE CEEDUMP shows the following       *
    *                      traceback to the exception in           *
    *                      __iew_openW (the display has been       *
    *                      formatted to fit and some columns       *
    *                      omitted).  Note that the Eoffset for    *
    *                      __iew_openW here is very large; it      *
    *                      could also possibly show up as a        *
    *                      negative offset:                        *
    *                                                              *
    *                       Entry       E  Offset  Program Status  *
    *                       CEEHDSP     +00004220  CEEHDSP Call    *
    *                       CEECGEX     +000001F0  CEECGEX Call    *
    *                       __iew_openW +00EECC22          Excepti *
    *                       includeMod  +000009B6          Call    *
    *                                                              *
    *                      The actual S0C4 ( CICS AKEA ) ABEND     *
    *                      will be in IEWBSTAK within IEWBIND.     *
    *                      The abend occurs when the binder        *
    *                      attempts to create a stack frame in     *
    *                      storage with a key which does not match *
    *                      its execution key.                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    IEWBIND allocates storage in the initial job step TCB key.
    However subsystems which use storage-protection-override control
    may pass control to the binder in another key (for instance with
    CICS user-key programs, in key 9).  This results in a protection
    exception when IEWBIND tries to use this storage.  This happens
    first in IEWBSTAK when the binder allocates and attempts to use
    storage for a stack frame.
    
    Users who code to the IEWBIND - Binder regular API functions
    interface are required to invoke IEWBIND in an environment which
    requires, among other things, the PSW key to match the job step
    TCB key.  However users of IEWBNDD, IEWBNDDX - Binder C/C++ API
    DLL functions have no way to adhere to this requirement.
    

Problem conclusion

  • The Binder C/C++ API DLL is changed as described in the
    following documentation update:
    
    Title: z/OS MVS Program Management: Advanced Facilities
    Document Number: SA22-7644
    
    Chapter: IEWBNDD, IEWBNDDX - Binder C/C++ API DLL functions
    
    Section: __iew_openW() - Open workmod
    
    <immediately preceding the Subtopics, add>
    
    NOTE:  In order to meet the PSW key requirement for the
    invocation environment, __iew_openW() may save the current PSW
    and the job step TCB keys.  (Refer to Chapter 5, Section
    "Environment", and Chapter 3 Section "Setting the invocation
    environment")
    
    This will be enabled by default if the program calling the
    Binder C/C++ API DLL functions is running under CICS.  It can be
    explicitly disabled by setting the environment variable
    IEWBNDD_JSTCBKEY to the value "NO", or explicitly enabled by
    setting IEWBNDD_JSTCBKEY to "YES", prior to calling
    __iew_openW().
    
    If enabled, for this and all other Binder C/C++ API function
    calls using the API context returned by this __iew_openW() call,
    the PSW key will be set to the job step TCB key and then reset
    back to the current PSW key, around every Binder regular API
    function call.
    

Temporary fix

Comments

  • ADDITIONAL KEY WORDS: COB0501T/K
    

APAR Information

  • APAR number

    OA40593

  • Reported component name

    PROGRAM MANAGEM

  • Reported component ID

    5695PMB01

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-10-11

  • Closed date

    2013-02-15

  • Last modified date

    2013-06-04

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

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

    UA68051

Modules/Macros

  • IEWBNDD  IEWBNDDX IEWBUCXD IEWBUC3D
    

Publications Referenced
SA22764414    

Fix information

  • Fixed component name

    PROGRAM MANAGEM

  • Fixed component ID

    5695PMB01

Applicable component levels

  • R780 PSY UA68051

       UP13/02/27 P F302

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":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
04 June 2013