A fix is available
APAR status
Closed as program error.
Error description
You are receiving the following messages: DFHDD0002 A severe error (code X'0406') has occurred in module DFHDDBR. DFHDD0001 An abend (code ---/AKEC) has occurred at offset X'FFFF' in module DFHDDBR. . In the trace, you see the following trace entries prior to an Invalid_browse exception trace entry: 98350 QR DD 0401 DDBR ENTRY GET_NEXT_ENTRY ENTRY_NAME(2A651490,80000000,00000028) DIRECTORY_TOKEN(28A0B610) BROWSE_TOKEN(2AB283C0) DIRECTORY_NAME(USD1) DM CO DD 0401 DDBR ENTRY GET_NEXT_ENTRY ENTRY_NAME(2E9658B0,00000028,00000028) DIRECTORY_TOKEN(28A0B610) BROWSE_TOKEN(2AB28290) DIRECTORY_NAME(USD1) 98350 QR DD 0406 DDBR *EXC* Invalid_browse FUNCTION(GET_NEXT_ENTRY) ENTRY_NAME(2A651490,80000000,00000028) DIRECTORY_TOKEN(28A0B610) BROWSE_TOKEN(2AB283C0) DIRECTORY_NAME(USD1) . On further diagnosis, DD0002 occurs when 2 tasks running on 2 different TCBs both initiate browses on the same directory - USD1 directory. The first browse occurs as part of a DFHUSAD VALIDATE_USERID, which is driven as part of an EXEC CICS START TRANSID USERID. This runs on the QR TCB. The second is a NOTIFY_USERID call, which runs on the CO TCB. This is driven when an ENF notify occurs because something has changed in the external security manager, such as a USERID being revoked or being CONNECTED or REMOVED from a RACF group. DFHDDBR START_BROWSE getmains a browse element and adds it to the head of the browse element chain for the USD1 directory (field dh_current_browses). This is a push down stack of browse elements. When DFHDDBR GET_NEXT is called, the caller passes the browse element on the call, and GET_NEXT processing runs down the dh_current_browses chain to confirm that a valid browse token has been found. The failure to locate the token results in a DD 0406 exception trace and DD0002 system dump. . The DD0001/abendAKEC with the loop occurs because the dh_current_browses chain points to a browse element whose bv_next pointer points to itself. . Additional Symptom(s) Search Keyword(s): DFHUSAD DFHDDBRWS KIXREVSLD
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All CICS users * **************************************************************** * PROBLEM DESCRIPTION: MSGDFHDD0002 severe error code 0406 in * * DFHDDBR when 2 tasks browse the USD1 * * directory in parallel. * **************************************************************** * RECOMMENDATION: * **************************************************************** EXEC CICS START TRANSID USERID is issued by a task. This calls DFHUSAD VALIDATE_USERID which triggers a browse of the USD1 directory to locate the USERID. This runs on the QR TCB. In parallel, an ENF notify causes DFHUSAD NOTIFY_USERID to run because a USERID's state has been updated. The NOTIFY_USERID call runs under a long-running task which executes on the CO TCB. It only runs on the CO TCB if SUBTSKS=1 is in the SIT. DFHDDBR START_BROWSE is issued by both tasks in parallel. Both calls create browse elements. These are appended to the dh_current_browses chain for the USD1 directory. The code which updates this chain isn't single threaded. The second task to update the chain overwrites the reference to the browse element created by the first task. When the first task calls DFHDDBR for function GET_NEXT, DFHDDBR cannot locate the browse element and raises a severe error which results in DFHDD0002 with severe error code 0406. The corruption of the browse element chain can lead to other errors such as DFHDD0001 for loops in DFHDDBR. ADDITIONAL KEYWORDS :- MSGDFHDD0001 DD0001 AKEC
Problem conclusion
DFHDDBR START_BROWSE and END_BROWSE functions have been changed to obtain exclusive locks on the directory while the browse element chain is being updated.
Temporary fix
FIX AVAILABLE BY PTF ONLY
Comments
APAR Information
APAR number
PM84828
Reported component name
CICS TS Z/OS V4
Reported component ID
5655S9700
Reported release
600
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-03-14
Closed date
2013-06-03
Last modified date
2013-07-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK94855
Modules/Macros
DFHDDBR DFHDDBRT
Fix information
Fixed component name
CICS TS Z/OS V4
Fixed component ID
5655S9700
Applicable component levels
R600 PSY UK94855
UP13/06/10 P F306
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.1","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.1","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
02 July 2013