IBM Support

PM59871: DFHSM0002 ERROR CODE 030F DOUBLE FREEMAIN OUT OF DFHRMLSO FOR RMOFRMLK STORAGE DUE TO DOUBLE COMMIT

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Descriptionᅬ
    You are running CICS transaction server 4.1 and receive the
    following error messages:
    DFHSM0002  A severe error (code X'030F') has occurred in module
               DFHSMGF.
    DFHIR3784  A severe error (code X'DD3C') has occurred in module
               DFHCRR.Connection xxxx (if non-blank) has been set
               out of service.
    .
    Looking at the dump from the SM0002 error,  you will find the
    following exception:
    SM 030F SMGF  *EXC* - Quickcell_freemain_QPF_already_free -
                   FUNCTION(FREEMAIN) REMARK(RMOFRMLK)
    Module DFHRMLSO is attempting to freemain a recovery manager
    link object which is already free, causing the DFHSM0002
    to be issued.
    Internal trace shows that COMMIT processing was called twice
    for the same token,  Here is the commit trace point:
    .
    CRIU  ENTRY PERFORM_COMMIT RMC_TOKEN(2B827030) CONTINUE(NO)
                SINGLE_UPDATER(NO) COORDINATOR(NO) INITIATOR(YES)
                RESTART(NO) UOW_STATUS(FORWARD) PRESUMPTION(ABORT)
                RECOVERY_STATUS(NECESSARY)  SESSION_NAME <sss)
    .
    After the first commit, the task was detached from session
    tctte, making it available for use again.
    Before the task above ends, input arrives on this session
    causing CSNC to attach a new task on it.
    When the second commit processing is performed it now cleans up
    this session tctte which is being used by a different task..
    which leads to the DFHIR3784 error.
    Additional Symptom(s) Search Keyword(s): KIXREVCTC
    

Local fix

  • Local Fix￘
    n/a
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: CICS issues DFHSM0002 error code 030F   *
    *                      for a double freemain of RMRORMLK       *
    *                      storage.                                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Two CICS tasks are interleaving in recovery manager. The first
    task is running under an open TCB, iterating through the links
    in its UOW's linkset, calling each one to commit. The first link
    to be called is for an MRO connection. Having made this call,
    the link remains in the linkset while CICS awaits the inbound
    flow to notify it to delete it. While this syncpoint continues,
    the inbound flow is processed by CSNC, and recovery manager is
    called by this task (under QR) to remove the link. The logic in
    rmls_remove_link calls HOP_RemoveNode. This resets the first
    task's iterator, that was pointing at the MRO link. However,
    before this logic can proceed to remove the link object itself,
    the L8 task issues a getnext to step on to the next link in
    the linkset. This results in the iterator being reset to point
    at the MRO link once more. Then, the CSNC task (under QR)
    deletes the link, freeing its storage. This is followed by the
    syncpointing task (under its open TCB) making a second call to
    DFHCRIU to process the same MRO link once more. Recovery manager
    then attempts to delete the link, and gets the DFHSM0002
    message and dump.
    

Problem conclusion

  • DFHRMLSO has been changed to acquire the RM domain lock around
    the call to get the next link during commit processing.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM59871

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-08

  • Closed date

    2012-03-16

  • Last modified date

    2012-04-03

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

    PM55984

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

    UK77159

Modules/Macros

  •    DFHRMLSO
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R700 PSY UK77159

       UP12/03/23 P F203

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.2","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"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":"4.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
03 April 2012