z/OS MVS System Codes
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


9C6

z/OS MVS System Codes
SA38-0665-00

9C6

Explanation

An error occurred when a task or SRB routine called a global resource serialization latch manager service.
Note:
  1. In the description of this system code, the term requestor refers to a task or SRB routine that calls a latch manager callable service to:
    • Request ownership of a latch, or
    • Release a granted or pending request to obtain ownership of a latch.
  2. Equate symbols defined in the latch manager IDFs are followed by their numeric equivalents; you may specify either when coding calls to Latch_Obtain. For example, "ISGLOBT_COND (value of 1)" indicates the equate symbol ISGLOBT_COND and its associated value, 1.

Source

Global resource serialization

General purpose register (GPR) 15 contains a hexadecimal reason code that explains the error. xxxx indicates internal information. If
Code
Explanation
xxxxyyyy
Some of the 9C6 reason codes indicate internal errors. If the high order bit is on in the second half of the reason code (xxxx8yyy, for example), or if the reason code is not included in the following list, the error is an internal component error. Search problem data bases for any matching problems. If none found, report this problem to your IBM® support center.
xxxx0001
A caller of a latch manager service specified an incorrect value on the latch_set_token parameter.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Specify a latch_set_token value that was returned by a previous call to the Latch_Create service.

xxxx0002
One of the following occurred:
  • The caller of the Latch_Create service specified an incorrect value on the number_of_latches parameter. This value must be a non-zero fullword integer.
  • The caller of the Latch_Obtain service specified an incorrect value on the latch_number parameter. The latch_number must be a fullword integer that is in the range between 0 and the number of latches in the associated latch set minus one.

System Action: If the error occurred when calling the Latch_Create service, the system does not create the latch set. If the error occurred when calling the Latch_Obtain service, the latch manager does not obtain the latch.

Programmer Response:
  • If the error occurred on a call to the Latch_Create service, specify a non-zero fullword integer on the number_of_latches parameter.
  • If the error occurred on a call to the Latch_Obtain service, specify a value on the latch_number parameter in the range between 0 and the number of latches specified on the call to the Latch_Create service.
xxxx0003
A caller of the Latch_Obtain service specified an incorrect value on the obtain_option parameter. The obtain_option parameter must contain one of the following values:
  • ISGLOBT_SYNC (value of 0)
  • ISGLOBT_COND (value of 1)
  • ISGLOBT_ASYNC_ECB (value of 2)

System Action: The latch manager does not obtain the latch.

Programmer Response: On the call to the Latch_Obtain service, specify one of the values listed on the obtain_option parameter.

xxxx0004
A caller of the Latch_Release service specified an incorrect value on the release_option parameter. The release_option must be ISGLREL_UNCOND (value of 0) or ISGLREL_COND (value of 1).

System Action: The latch manager does not release the latch.

Programmer Response: On the call to the Latch_Release service, specify ISGLREL_UNCOND (value of 0) or ISGLOBT_COND (value of 1) on the release_option parameter.

xxxx0005
A caller of a latch manager service specified an incorrect requestor_ID of all binary zeroes. The requestor_ID can be any value except all binary zeroes.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Specify a requestor_ID that is not all binary zeroes.

xxxx0006
A caller of the Latch_Obtain service specified an obtain_option of ISGLOBT_ASYNC_ECB and an ECB_address that was all binary zeroes. When the obtain_option is ISGLOBT_ASYNC_ECB, the ECB_address must be a non-zero address that points to an event control block (ECB).

System Action: The latch manager does not obtain the latch.

Programmer Response: Specify an ECB_address that points to a valid ECB.

xxxx0007
A caller of the Latch_Release service specified a release_option of ISGLREL_UNCOND (value of 0). The latch manager did not grant ownership of the latch to the original caller of the Latch_Obtain service. The system did not post the ECB specified on the original call to Latch_Obtain.

System Action: The latch manager does not release the latch.

Programmer Response: Wait until the system posts an ECB to indicate that the caller of Latch_Obtain has obtained the latch. Then call the Latch_Release service to release the latch.

xxxx0008
A requestor called the Latch_Release service before the original caller of the Latch_Obtain service could obtain the latch.

System Action: The latch manager does not obtain or release the latch. The Latch_Manager returns a return code of 0 to the caller of Latch_Release. The system passes control to the recovery routine for the caller of Latch_Obtain.

Programmer Response: Check the application code to ensure that the correct latch token is passed to the caller of the Latch_Release service.

xxxx0009
A caller of the Latch_Release service specified a release_option of ISGLREL_UNCOND (value of 0). The latch manager did not grant ownership of the latch to the original caller of the Latch_Obtain service because the original caller is suspended while waiting to obtain the latch.

System Action: The latch manager does not release the latch.

Programmer Response: Check the application code to ensure that the correct latch token is passed to the caller of the Latch_Release service.

xxxx000A
A caller of the Latch_Release service specified a latch_token that:
  • Did not match a latch_token returned from the original call to the Latch_Obtain service, or
  • Matched a latch_token for a latch that was previously released or purged.

System Action: The latch manager does not release the latch.

Programmer Response: On the call to Latch_Release, specify a latch_token that matches a valid latch_token.

xxxx000B
A requestor called a latch manager service while disabled for I/O and external interrupts.

System Action: The latch manager might not perform the requested operation.

Programmer Response: Call the latch manager service while enabled for I/O or external interrupts.

xxxx000C
A requester called a 31-bit latch manager service while the latch manager service is in a 24-bit or 64-bit addressing mode.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Call the latch manager service again while running in a 31-bit addressing mode.

xxxx000D
A requestor called a latch manager service while holding a lock.

System Action: The latch manager might not perform the requested operation.

Programmer Response: Issue the SETLOCK RELEASE macro to release the lock that the requestor currently holds.

xxxx000E
A requestor called a latch manager service while in access register (AR) address space control (ASC) mode.

System Action: The latch manager might not perform the requested operation.

Programmer Response: Call the latch manager service again while running in primary ASC mode.

xxxx000F
One of the following:
  • A requestor called the Latch_Release service and specified an incorrect value on the latch_token parameter
  • An internal error occurred in a latch manager service.

System Action: The latch manager might not perform the requested operation.

Programmer Response: Check the application code to ensure that the correct latch token is passed to the caller of the Latch_Release service. If the problem persists, search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.

xxxx0010
A requestor the Latch_Obtain service to obtain a latch. The requestor is currently suspended and waiting for the latch. The system is ending the requestor because the latch set job step task (the task that created the latch set) or latch set address space (the address space in which the latch set resides) is ending.

System Action: The latch manager does not obtain the latch.

Programmer Response: If necessary, call the Latch_Create service to create a new latch set.

xxxx0011
A requestor called the Latch_Create service to create a latch set. The maximum number of latch sets allowed by the system has been reached.

System Action: The latch manager does not create the latch set.

Programmer Response: Identify programs that are creating an unnecessarily large number of latch sets. Correct any problems with those programs. If the problem persists, search problem reporting databases for a fix for the problem. If no fix exists, contact the IBM Support Center.

xxxx0012
A requestor called the Latch_Create service with an incorrect value on the create_option parameter. The create_option must be a fullword integer with one of the following values:
  • ISGLCRT_PRIVATE (value of 0),
  • ISGLCRT_PRIVATE + ISGLCRT_DEADLOCKDET1 (value of 64), or
  • ISGLCRT_PRIVATE + ISGLCRT_DEADLOCKDET2 (value of 128).

System Action: The latch manager does not create the latch set.

Programmer Response: Specify a valid create_option on the call to the Latch_Create service. See z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO for more details on the valid create_options.

xxxx0013
On a call to the Latch_Create service, a requestor specified a latch_set_name parameter with a value that had a first character of zero or blank. The latch_set_name can contain any 48-byte hexadecimal value as long as the first character is not binary zeroes or an EBCDIC blank.

System Action: The latch manager does not create the latch set.

Programmer Response: On the latch_set_name parameter, specify a value with a first character is not binary zeroes or an EBCDIC blank.

xxxx0014
A caller of a latch manager service has a PSW key that does not allow access to the latch set storage.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Call the latch manager service with a PSW key that matches the storage key of the latch set.

xxxx0015
An internal error occurred in a latch manager service.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.

xxxx0016
The system could not obtain enough storage for a particular latch set. GPR 2 contains the return code from the STORAGE OBTAIN macro.

System Action: The latch manager does not create the latch set.

Programmer Response: See the description of the return codes for the STORAGE OBTAIN macro in z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO to diagnose the error.

xxxx0017
A requestor called the Latch_Obtain service with an incorrect access_option. The access_option must be a fullword integer with a value of ISGLOBT_EXCLUSIVE (value of 0) or ISGLOBT_SHARED (value of 1).

System Action: The latch manager does not obtain the latch.

Programmer Response: Specify an access_option of ISGLOBT_EXCLUSIVE (value of 0) or ISGLOBT_SHARED (value of 1) on the call to the Latch_Obtain service.

xxxx0019
A requestor called the Latch_Obtain service to obtain a latch. The maximum number of Latch_Obtain requests allowed by the system has been reached.

System Action: The latch manager does not obtain the latch.

Programmer Response: Consider placing limits or the number of tasks or SRB routines that can request latches, or release held latches or requests to obtain latches to reduce contention for resources. If the problem persists, search problem reporting databases for a fix for the problem. If no fix exists, contact the IBM Support Center.

xxxx0020
A requestor called the Latch_Obtain service to obtain a latch. The requestor ended before the latch manager could finish processing the Latch_Obtain request.

System Action: The latch manager does not obtain the latch.

Programmer Response: Call the Latch_Obtain service again, if the requestor still requires access to the latch.

xxxx0023
A requestor called the Latch_Obtain service to obtain a latch. The user provided invalid latch information.

System Action: The system terminates the request.

Programmer Response: Correct your parameters and call the Latch_Obtain service again.

xxxx0024
The system could not obtain enough storage for a particular latch request. GPR 2 contains the return code from the STORAGE OBTAIN macro.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Alleviate the virtual storage constraint in the requester’s address space and try the request again.

System Programmer Response: To diagnose the error, see the description of the return codes for the STORAGE OBTAIN macro in z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO.

xxxx0025
A caller of a 64-bit latch manager service was not in 64-bit addressing mode.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Call the latch manager service again while in 64-bit addressing mode.

xxxx002E
A requestor called the Latch_Obtain service to obtain a latch, specifying an access_option of ISGLOBT_EXCLUSIVE (value of 0). The latch has already been obtained by the same unit of work earlier with the ISGLOBT_EXCLUSIVE access_option and it has not yet been released.
Note: This reason code can only happen if the ISGLCRT_DEADLOCKDET1 (value of 64) create_option is specified in ISGLCRT.

System Action: The latch manager does not perform the requested operation. Proceeding with the requested operation will result in a latch hang condition.

Programmer Response: Check the application code to ensure that the first latch has been released via the Latch_Release service before the second latch obtain request is issued.

xxxx002F
A requestor called the Latch_Obtain service to obtain a latch, specifying an access_option of ISGLOBT_SHARED (value of 1). The latch has already been obtained by the same unit of work earlier with the ISGLOBT_EXCLUSIVE access_option (value of 0) and it has not yet been released.
Note: This reason code can only happen if the ISGLCRT_DEADLOCKDET1 (value of 64) create_option is specified in ISGLCRT.

System Action: The latch manager does not perform the requested operation. Proceeding with the requested operation will result in a latch hang condition.

Programmer Response: Check the application code to ensure that the first latch has been released via the Latch_Release service before the second latch obtain request is issued.

xxxx0036
A requestor called the Latch_Obtain service to obtain a latch, specifying an access_option of ISGLOBT_EXCLUSIVE (value of 0). The latch has already been obtained by the same unit of work earlier with the ISGLOBT_SHARED access_option (value of 1) and it has not yet been released.
Note: This reason code can only happen if the ISGLCRT_DEADLOCKDET2 (value of 128) create_option is specified in ISGLCRT.

System Action: The latch manager does not perform the requested operation. Proceeding with the requested operation will result in a latch hang condition.

Programmer Response: Check the application code to ensure that the first latch has been released via the Latch_Release service before the second latch obtain request is issued.

xxxx0038
A requester called a latch manager service with one or more inaccessible parameters.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Ensure that the parameter list is accessible, and try the request again.

xxxx0039
A requester called a latch manager service with an incorrect version.

System Action: The latch manager does not perform the requested operation.

Programmer Response: Ensure that the version for the requested service is valid, and try the request again.

xxxx003A
A requestor called the Latch_Obtain service to obtain a latch, specifying an access_option of ISGLOBT_SHARED (value of 1). The latch has already been obtained by the same unit of work earlier with the ISGLOBT_SHARED access_option (value of 1) and it has not yet been released. And another unit of work was already waiting for exclusive ownership on the same latch. Allowing the requester to wait for the latch would result in a deadlock.
Note: This reason code can only happen if the ISGLCRT_DEADLOCKDET2 (value of 128) create_option is specified in ISGLCRT.

System Action: The latch manager does not perform the requested operation. Proceeding with the requested operation would have resulted in a latch hang condition.

Programmer Response: Check the application code to ensure that the first latch has been released through the Latch_Release service before the second latch obtain request is issued.
Note: Recursive entries into the same routines through IRBs and abend exit can result in the same latch obtained twice.
xxxx01yy
A requestor called the Latch_Obtain service to obtain a latch. The system found an error when it tried to issue the SUSPEND macro. A return code from the SUSPEND macro (yy) indicates the reason for the error:
Code (yy)
Explanation
8
A program tried to call the Latch_Obtain service with an obtain option of ISGLOBT_SYNC (value of 0) from an SRB after the SRB abended with code X'47B'.
C
A program tried to call the Latch_Obtain service with an obtain option of ISGLOBT_SYNC (value of 0) from within the SUSPEND exit.
20
An error occurred in the SUSPEND exit routine.
22
A system error occurred.
FE
The system was not able to PAUSE/SUSPEND because a PURGDEQ is pending against the SRB. Only the Purge, Release, or conditional OBTAIN (ISGLOBT_COND (value of 1)) can be used after an SRB has a PURGDQ pending against it.
FF
The requested function is not supported after an SRB has abended with X'47B'. Only the Purge, Release, or conditional OBTAIN (ISGLOBT_COND (value of 1)) can be used by an SRB that has been abended by a code X'47B'.

System Action: The latch manager does not obtain the latch.

Programmer Response: Depending on the return code from the SUSPEND macro, do one of the following:
Code (yy)
Action
8
Correct the program so it does not try to call the Latch_Obtain service with an obtain option of ISGLOBT_SYNC (value of 0) from an SRB that abended with code X'47B'.
C
Correct the program so it does not try to call the Latch_Obtain service with an obtain option of ISGLOBT_SYNC (value of 0) from within the SUSPEND exit.
20, 22
Search problem reporting data bases for a fix for the problem. If no fix exists, contact the IBM Support Center.
FE
Terminate the SRB processing so the system can complete the PURGEDQ of the SRB.
FF
Correct the program so it does not try to call any service other than Purge and Release from an SRB that abended with code X'47B'.

For more information about the SUSPEND macro, see z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014