PM82237: HANG OCCURS DUE TO CONTENTION WITH THREAD DOING CSNAP AND THREAD USING FPRINTF. MUTEX FOR MESSAGE FILE IS HELD BY FROZEN THREAD.

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Customer's application has a sigaction handler, which is
    handling 0CX abends from their application. The handler is
    issuing a csnap() call to snap a dump. During dump processing,
    routine __zdmpf is trying obtain information about any files on
    the fcb chain. For each FCB, the code will attempt an fldata
    call which tries to obtain the file lock (mutex) associated with
    the file. While this thread is trying to gain the locks on the
    files, it gets to 'message file' and the fldata fails to obtain
    the lock, so it sits on CEEOPML2 waiting on the mutex.
    which is using 'fprintf', and who currently owns the mutex (file
    lock) on message file. The reason the 'fprintf' thread never
    releases it, is because dump processing on the csnap thread has
    frozen it.
    

Local fix

  • None
    Verification Steps:
    1) Review a dump of the hang. If a thread is in the process of
    calling csnap, cdump, or CEE3DMP, and is waiting in CEEOPML2,
    waiting on a file mutex during fldata processing; while a second
    thread holds that mutex, and is frozen...then this APAR would
    apply.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of z/OS C/C++ csnap(), cdump() and     *
    *                 CEE3DMP functions in a multi-threaded        *
    *                 environment.                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Users of z/OS C/C++ csnap(), cdump()    *
    *                      and CEE3DMP functions in a              *
    *                      multi-threaded application may          *
    *                      experience a hang when another thread   *
    *                      is doing a C/C++ I/O function that      *
    *                      obtained the mutex for a fcb before LE  *
    *                      dump processing quiesced all the        *
    *                      threads.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    See problem description.
    

Problem conclusion

  • The code was changed to fix the problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM82237

  • Reported component name

    LE FOR MVS & VM

  • Reported component ID

    568819801

  • Reported release

    780

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-02-06

  • Closed date

    2013-02-28

  • Last modified date

    2013-04-02

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

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

    UK92103 UK92104

Modules/Macros

  • CELHZDPD CELQDMPD EDC40212
    

Fix information

  • Fixed component name

    LE C LIBRARY

  • Fixed component ID

    568819805

Applicable component levels

  • R770 PSY UK92103

       UP13/03/13 P F303

  • R780 PSY UK92104

       UP13/03/13 P F303

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.



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

z/OS XL C/C++
Runtime

Software version:

780

Operating system(s):

MVS, z/OS

Reference #:

PM82237

Modified date:

2013-04-02

Translate my page

Machine Translation

Content navigation