Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls Reference Manual—522629-013
I-1
I
Using the DIVER and DELAY 
Programs
This appendix describes the DIVER and DELAY programs which you can use to 
supplement the testing of an application program that runs as a process pair. DIVER 
causes a specified processor to fail and then prepares the processor for reload. 
DIVER can be used with DELAY to cause repeated failures and reloads of the 
processors in a system. This failure cycle allows you to test an application for fault 
tolerance while the processors are being halted and reloaded.
Running the DIVER Program
You run the DIVER program in a processor selected to fail. DIVER stops the processor 
such that it no longer transmits its “I’m alive” message. Because the other processors 
in the system do not receive this message, they collectively declare that the processor 
has failed. The difference between a processor halt and a processor running the 
DIVER program is that a processor halt results in the report of a processor halt code 
and a potential system freeze; a processor running the DIVER program results in the 
report of the processor event message ZCPU-EVT-DIVER.  For more information on 
this event message, refer to the 
NonStop Kernel Event Management Programming 
Manual.
•
Note the following cautions when running the DIVER program
•
When running the DIVER program, it is recommended that the processor run-
option always be included. Otherwise, the processor in which DIVER is 
intended to run is chosen by the normal process creation rules, which might 
not place it in the processor that you intend to fail.
•
If there is a $CMON process running in the system, it might affect the choice of 
processor where DIVER will run. Unless you are sure that the $CMON 
process will not alter the processor specified in the DIVER command, stop 
$CMON before running DIVER.
•
Do not use DIVER to try to halt a processor in order to get a dump. When 
setting up the processor for a RELOAD command, DIVER destroys its memory 
contents. Consult the operations guide for your system type for details on 
taking dumps.
After stopping the processor, DIVER sets up the processor for a RELOAD command, 
as if a processor reset and load operation occurred. You can then reload the 
processor.
Before DIVER brings down a processor, it verifies the following two conditions:
•
The requester’s process access ID (PAID) indicates that the requester is a member 
of the super group.










