General purpose
register (GPR) 15 contains a hexadecimal reason code that explains
the error.
- 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.