Determining Whether the Checkpoint Succeeded

The checkpoint facility returns a value indicating the result of the attempted checkpoint. This value is divided into the following fields:

[46:01]

If this bit is set, then the current task was restarted from this checkpoint.

[25:12]

If the checkpoint succeeded, this field stores the checkpoint number assigned to the checkpoint files.

[10:10]

If the checkpoint failed, this field stores the completion code that indicates why the checkpoint failed. For a list of the possible completion codes, refer to Checkpoint Completion Codes.

[00:01]

This is the exception bit. If this bit is set, then either the checkpoint did not succeed or the process was restarted from this checkpoint.

In ALGOL, you can store the result value in a Boolean variable by invoking the checkpoint facility as a function. This Boolean value can then be stored in a real variable, and the various fields of the real variable can be conveniently interrogated.

In the following ALGOL example, BOOL is a Boolean variable and the other variables are real.

BOOL:= CHECKPOINT(PACK,LOCK);
REALRSLT:= REAL(BOOL);
CPRESTART:= REALRSLT.[46:01];
CPNUMBER:= REALRSLT.[25:12];
CPCOMPLETION:= REALRSLT.[10:10];
CPEXCEPTION:= REALRSLT.[00.01];

You can tell whether a checkpoint was successful by observing the completion message that is displayed. The following is an example of a successful completion message:

#1082 CHECKPOINT #1080/001 TAKEN @ (029900)*

The following is an example of the completion message for a checkpoint that failed:

#1111 CHECKPOINT ABORTED: BAD IPC ENVIRONMENT @ (029900)*

Each completion message corresponds to one of the completion codes from field [10:10] of the checkpoint result. The completion messages are listed in Checkpoint Completion Codes.

Table 7. Checkpoint Completion Codes

Completion Code

Completion Message and Meaning

0

CHECKPOINT #<mix number>/<checkpoint number> TAKEN

The checkpoint was executed successfully.

1

INVALID AREA IN STACK

2

SYSTEM ERROR

Completion errors 1 and 2 both mean that a system error occurred.

3

BAD IPC ENVIRONMENT

The process has offspring or was not initiated by a WFL RUN statement.

4

NO USER DISK FOR CP FILE

The family requested by the device option in the checkpoint statement is not available.

5

IO ERROR DURING CHECKPOINT

An I/O error occurred.

6

NUMBER OF ROWS IN CP FILE > 1024

The process is too large to be successfully checkpointed.

7

DIRECT FILE NOT ALLOWED

The process has a direct file that is open.

8

TOO MANY TEMPORARY DISK FILES

The process has more than 998 temporary files.

9

OPEN FILE WITH KIND=<kind> NOT ALLOWED

where <kind> is SC, REMOTE, CDROM, DATACOM/REMOTE, PORT, CDR, or FOREIGNTYPE/HOSTSERVICES.

The process has an open file with a disallowed kind.

11

OPEN FILE WITH FILEORGANIZATION <fileorganization> NOT ALLOWED

where <fileorganization> is RELATIVE, INDEXED, INDEXEDNOTRESTRICTED, KEYEDIOII, KEYEDIOIISET, or KEYEDIOIISF.

The process has an open file with a file organization that is not allowed.

12

INSUFFICIENT MEMORY TO CHECKPOINT

Not enough memory is available to checkpoint the process.

13

OPEN REVERSED TAPE FILE NOT ALLOWED

The process is using a reversed tape file.

14

ICM AREA IN STACK

The process is using a BNA Version 2 port file.

15

DMS AREA IN STACK

The process is using an Enterprise Database Server data set.

16

DIRECT ARRAY IN STACK

The process has entered, and not yet exited, a block that includes a direct array declaration.

17

SECURITY ERROR SAVING TEMPORARY DISK FILE

The process has a temporary file open under another usercode. This situation can occur, for example, if both the following are true:

  • The process opened a permanent disk file that resided under someone else's usercode.

  • While the process had the file open, another process attempted to remove the file, thus changing it to a temporary file.

19

STACKMARK

A system error occurred.

21

IN USE ROUTINE NOT ALLOWED

The process has entered a USE procedure.

22

INVALID CONSTRUCT

There is operating system code in the process stack, for example, the SORT intrinsic.

23

BDBASE NOT ALLOWED

The BDBASE option of the OPTION task attribute has been set.

24

ILLEGAL FILESTRUCTURE

The process has an open file with a FILESTRUCTURE value for which checkpointing is not implemented.

25

MULTI-REEL UNLABELED TAPE NOT ALLOWED

The process has opened a multireel unlabeled tape file.

26

SURROGATE TASK NOT ALLOWED

The task was initiated on a BNA host other than that on which the job is running.

30

ROW SIZE TOO SMALL FOR CP FILE

The process stack is too large to fit in a row of the checkpoint file. The maximum size of a process stack that can be checkpointed is approximately 22700 words.

32

OPERATOR CHECKPOINT REQUEST CANCELED

A checkpoint or restart was already underway.

34

BR REQUEST REJECTED

The BRCLASS task attribute value is NOBR.

36

OPEN BACKUP FILE WITH PRINTDISPOSITION = EOT NOT ALLOWED

37

OPEN BACKUP FILE WITH PRINTDISPOSITION = CLOSE NOT ALLOWED

38

OPEN BACKUP FILE WITH PRINTDISPOSITION = DIRECT NOT ALLOWED

Each of these three values means that the PRINTDISPOSITION file attribute has a value not allowed for checkpoints.

39

ERROR OCCURRED DURING CHECKPOINT IN FILE <filename>

The CHECKPOINT procedure encountered an error while trying to handle the indicated file.

40

ATTEMPT TO EXCEED TEMPORARY FILE LIMIT ON CP FILE

41

ATTEMPT TO EXCEED FAMILY LIMIT ON CP FILE

42

FAMILY INTEGRAL LIMIT EXCEEDED ON CP FILE

These three values mean the checkpoint file cannot be created because doing so causes the user's file usage on a particular family to exceed the limits set by the disk resource control system. For information about the disk resource control (DRC) system, refer to the System Administration Guide and the System Operations Guide.

43

INVALID ENVIRONMENT IN STACK

The process has invoked and not yet exited a library procedure. Either the process is currently executing code from that procedure, or it is executing code from some other procedure that was invoked from the library procedure.

44

DISK TYPE MUST BE DISK OR PACK

A process invoked the exported MCP procedure CALLCHECKPOINT and passed a value of other than 1 (disk) or 17 (pack) to the UTYP parameter.

45

CHECKPOINT TYPE MUST BE ZERO OR ONE

A process invoked the exported MCP procedure CALLCHECKPOINT and passed a value of other than 0 (purge) or 1 (lock) to the CPTYP parameter.

46

SHARED BUFFERS NOT ALLOWED

The process has a file open for which the value of the BUFFERSHARING file attribute is not NONE.

47

STACK CONTAINS STRUCTURE TYPE VARIABLES

The process includes structure block declarations.

48

LIBRARY IS LINKED TO A CONNECTION LIBRARY ENVIRONMENT

The process is linked to a connection library.

49

PROGRAM USES CONNECTION LIBRARIES

The process includes a connection library declaration.

50

PROGRAM USES SIGNALS

The process uses the POSIX signals mechanism.

51

PROGRAM USES FILE DESCRIPTORS

52

FIFO NOT ALLOWED

53

POSIX SPECIAL FILES NOT ALLOWED

54

PRINTDISPOSITION OF OPEN BACKUP FILE MUST BE EOJ OR DONTPRINT

The process has an open backup file with a PRINTDISPOSITION value other than EOJ, DONTPRINT, EOT, CLOSE, or DIRECT. PRINTDISPOSITION values of EOT, CLOSE, and DIRECT generate other completion codes.

55

PRINTER FILES MUST BE BACKUP

An open printer file is not a printer backup file.

56

ERROR TRYING TO ENTER CP FILE INTO THE DIRECTORY

The CHECKPOINT procedure encountered an error while trying to store the checkpoint file into the SYSTEMDIRECTORY. Check for preceding directory error messages.

57

ERROR TRYING TO ENTER TEMPORARY FILE INTO THE DIRECTORY

The CHECKPOINT procedure encountered an error while trying to store a temporary disk file into the SYSTEMDIRECTORY. Check for preceding directory error messages.

58

ERROR OPENING CP FILE

The CHECKPOINT procedure encountered an error while creating the checkpoint file. For example, the DISK family or PACK family was not online. Check for preceding error messages.

59

I/O ERROR READING SEG0 OF FILE

The CHECKPOINT procedure encountered an I/O error while reading SEG0 of a code file. Check for preceding I/O error messages.

60

ERROR COPYING OVERLAYED DATA TO CP FILE

The CHECKPOINT procedure encountered an I/O error while reading data from a DL OVERLAY family or while writing overlay data to the checkpoint file. Check for preceding I/O error messages.

61

ERROR SETTING TITLE OF TEMPORARY FILE TO CP/number/number

This is an internal error, notify your Unisys representative.