skip book previous and next navigation links
go up to top of book: HP OpenVMS System Manager's Manual, Volume 1:... HP OpenVMS System Manager's Manual, Volume 1:...
go to beginning of chapter: Setting Up and Maintaining Queues Setting Up and Maintaining Queues
go to previous page: Maintaining Queues Maintaining Queues
 
end of book navigation links

Solving Queue Problems  



The following sections can help you solve common queue problems:

Problem Section
General printer problems
Determining the Cause of General Printer Problems
Scheduling pending jobs
Making Pending Jobs Eligible for Scheduling
Stock mismatch problems
Fixing Print Jobs That Are Pending Due to Stock Mismatch
Characteristics mismatch problems
Fixing Jobs That Are Pending Because of Characteristics Mismatch
Stalled output queues
Fixing a Stalled Output Queue
Autostart queues that do not start
Determining Why an Autostart Queue Does Not Start
Problems deleting queues, forms, and characteristics
Solving Problems Deleting a Queue, Form, or Characteristic
Problems deleting files following printing
Solving Problems Deleting Files
Problems adding or deleting a module from a device control library
Adding or Deleting a Device Control Library Module
Queue is disabled
Fixing a Disabled Queue

Determining the Cause of General Printer Problems  

The following steps can help you determine the cause of general printer problems:

  1. Enter a command in the following format to determine the status of the queue with which the printer is associated:SHOW QUEUE/FULL queue-nameQueue Statuses Displayed in the SHOW QUEUE Command lists and describes queue statuses.
  2. Enter the SHOW LOGICAL/FULL SMBSRVSHR command to determine whether the logical name SMBSRVSHR is assigned, and, if it is assigned, its access mode (SUPERVISOR_MODE or EXECUTIVE_MODE). In most cases, this logical name should not be defined. However, if SMBSRVSHR is assigned, deassign it by entering the DEASSIGN SMBSRVSHR command with the /USER_MODE, /SUPERVISOR_MODE, or /EXECUTIVE_MODE qualifier.
  3. If a print request returns a fatal error or does not print, perform the following steps:

    1. Stop the queue by entering STOP/QUEUE/RESET.
    2. If the output device is spooled, despool it using the SET DEVICE/NOSPOOLED command.
    3. Copy the file you are attempting to print by entering the COPY command in the following format:COPY input-filespec output-filespecIf the COPY command does not produce output, a PRINT request will not work.
  4. If the problem is on a queue using the LATSYM symbiont, try using the default symbiont, PRTSMB, and see if the problem persists. You can use the PRTSMB symbiont for printers on LAT ports. However, only one queue at a time will be able to send jobs to the printer.

    To determine whether a queue is using the LATSYM symbiont, enter SHOW QUEUE/FULL. If the queue is using the LATSYM symbiont, the display shows the following words: /PROCESSOR=LATSYM.

    To change the queue's symbiont to PRTSMB, perform the following steps:

    1. Stop the queue by entering STOP/QUEUE/RESET.
    2. Restart the queue by entering START/QUEUE/NOPROCESSOR.
    If a PRINT request succeeds when the queue is using PRTSMB, the problem is with LATSYM or with the LAT driver LTDRIVER.
  5. Attach a terminal at the end of the cable that is being used for the printer. If the data shows up on the terminal, the Hold Screen key works, and no data is lost, the problem is probably with the printer (an incorrect setting, for example). If the problem exists with the terminal, it might be caused by the cable, the hardware interface port, or a hardware port setting.

Making Pending Jobs Eligible for Scheduling  

If a job does not execute when expected, the job might have a pending or holding status. The SHOW QUEUE/FULL/ALL_JOBS command displays the status for all jobs on a queue.

If the job is in a holding status, see Holding and Releasing a Job for information about holding and releasing a job.

If the job is in the pending state, the /FULL qualifier enables you to see the reason why the job is ineligible to execute. (Use a 132-character wide display to make sure that all the information is displayed.)

For example:

$ SHOW QUEUE/FULL/ALL_JOBS/BY_JOB_STATUS=PENDING
 
Generic printer queue REG$GENERIC
 /GENERIC=(REG$Q1,REG$Q2,REG$Q3)/OWNER=[SYSTEM]/PROTECTION=(S:M,O:D,G:R,W:R) 

  Entry  Jobname         Username     Blocks  Status              
  -----  -------         --------     ------  ------
    684  PROBLEMS         CHURCHILL     3118  Pending (check execution queues) 
         Submitted  7-MAR-2000 17:49 /FORM=DEFAULT /NOTIFY /PRIORITY=100
         File: _$5$DUA174:[CHURCHILL]PROBLEMS.TXT;2 

Printer queue REG$Q1, stopped, on LONDON::NPA1, mounted form DEFAULT
 /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/OWNER=[SYSTEM]
 /PROTECTION=(S:M,O:D,G:R,W:R) 

  Entry  Jobname         Username     Blocks  Status
  -----  -------         --------     ------  ------
    687  PM$SPEECH       CHURCHILL      3558  Pending (queue stopped) 
         Submitted  7-MAR-2000 17:51 /FORM=DEFAULT /NOTIFY /PRIORITY=100
         File: _$5$DUA174:[CHURCHILL]PM$SPEECH.TXT;1 (checkpointed)  
A job enters the pending status whenever the job is not eligible to execute. Common Causes and Solutions for Pending Job Status lists common causes and solutions for a pending status.

Table 8   Common Causes and Solutions for Pending Job Status
Problem Solution
The queue is currently processing as many jobs as it can.
Wait until intervening jobs complete.
The queue is stopped or stalled.
If a SHOW QUEUE/FULL command shows the queue status as stopped or stalled, determine why the queue is stopped or stalled.

If the queue is stopped, start it with START/QUEUE. If the stopped queue is an autostart queue, use START/QUEUE to activate the queue and ENABLE AUTOSTART/QUEUES to start the queue.

If the queue is stalled, follow the steps in Fixing a Stalled Output Queue.
The stock of the print job's form does not match the stock of the queue's mounted form.
Perform the steps in Fixing Print Jobs That Are Pending Due to Stock Mismatch.
The job was submitted or modified with characteristics not associated with the queue.
Perform the steps in Fixing Jobs That Are Pending Because of Characteristics Mismatch.
The queue has a block limit set and the size of the print job does not fall within the specified range.
Use SET ENTRY/REQUEUE to move the job to another queue, or use SET QUEUE/[NO]BLOCK_LIMIT to change or remove the block limit on the queue.
The owner of the job does not have write access to the execution queue.
Use SET ENTRY/REQUEUE to move the job to another queue, or change the access to the queue as explained in Controlling Access to Queues.
The print job is in a logical queue that is assigned to a stopped execution queue.
Use SET ENTRY/REQUEUE to requeue the job to another queue or start the execution queue to which the logical queue is assigned.
An output job requires an output device that is enabled for lowercase printing.
If the printer supports lowercase printing, use the /LOWERCASE qualifier with SET PRINTER or SET TERMINAL. Otherwise, use SET ENTRY/REQUEUE to move the job to an execution queue that sends its output to a printer with lowercase printing enabled.

Fixing Print Jobs That Are Pending Due to Stock Mismatch  

When monitoring jobs, you might see a print job that is pending in a queue because the stock does not match that of the mounted form. For example, you might see a SHOW ENTRY display similar to the following one:

$ SHOW ENTRY 133/FULL
 
  Entry  Jobname         Username     Blocks  Status
  -----  -------         --------     ------  ------
    133  SET             RANDOM           74  Pending (stock type mismatch)
         On idle printer queue SUE$PRINT
         Submitted 21-JAN-2000 16:14 /FORM=MANUAL (stock=HQ)  /PRIORITY=100 
         File: _$5$DUA1:[RANDOM]SET.TXT;5
To fix jobs that are pending because of a stock mismatch, perform one or more of the following actions:

See Using and Creating Forms for more information about forms.

Fixing Jobs That Are Pending Because of Characteristics Mismatch  

When monitoring jobs, you might see a batch or print job that is pending in a queue because the characteristics do not match those assigned to the queue. For example, you might see a SHOW ENTRY display similar to the following one:

$ SHOW ENTRY 882/FULL
 
  Entry  Jobname         Username     Blocks  Status
  -----  -------         --------     ------  ------
    882 SETHOST          RANDOM           5   Pending (characteristics mismatch)
         On idle printer queue $PRINTER_1
         Submitted 28-MAR-2000 15:21 /CHAR=(5) /FORM=DEFAULT  /PRIORITY=100 
         File: _$5$DUA1:[RANDOM]SETHOST.LOG;5

To fix jobs that are pending because of a characteristics mismatch, perform one or more of the following actions:

See Specifying Queue Characteristics for more information about characteristics.

Fixing a Stalled Output Queue  

If an output queue is in the stalled state, the device on which the queue is running is malfunctioning. Check the device and fix the problem. Once the problem is fixed, the queue will leave the stalled state.

If you cannot fix the problem immediately, stop the queue by entering STOP/QUEUE/RESET. While the queue is stopped, you might want to reroute the jobs in the queue to a functioning queue, as explained in Assigning a Logical Queue. When the problem is fixed, deassign the logical queue and start the queue by entering START/QUEUE.

Determining Why an Autostart Queue Does Not Start  

If you attempt to start an autostart queue with ENABLE AUTOSTART/QUEUES and the queue does not start, the queue might not be active for autostart. ENABLE AUTOSTART/QUEUES starts only active autostart queues capable of running on a node. To activate an autostart queue, you must include the /START qualifier with INITIALIZE/QUEUE or enter START/QUEUE.

Example

$ ENABLE AUTOSTART/QUEUES/ON_NODE=KATY:: [1] 
$ SHOW QUEUE KATY_BATCH
Batch queue KATY_BATCH, stopped, autostart inactive, on KATY:: [2] 
$ START/QUEUE KATY_BATCH [3] 
$ SHOW QUEUE KATY_BATCH/ALL
Batch queue KATY_BATCH, idle, on KATY:: [4] 
The numbers in following list correspond to numbers in the example:
  1. ENABLE AUTOSTART/QUEUES attempts to start autostart queues on node KATY.
  2. The SHOW QUEUE display shows that the autostart batch queue KATY_BATCH did not start. The display also reveals that the queue is inactive for autostart; the queue was either not activated initially or it was deactivated with STOP/QUEUE/NEXT or STOP/QUEUE/RESET.
  3. START/QUEUE activates the queue for autostart.
  4. SHOW QUEUE informs you that the queue is started.

Solving Problems Deleting a Queue, Form, or Characteristic  

If you are having problems deleting a queue, form, or characteristic, make sure you have met the following requirements:

If you see a message similar to the following one, a reference to the queue, form, or characteristic still exists:

%DELETE-E-NOTDELETED, error deleting object-name
-JBC-E-REFERENCED, existing references prevent deletion
For example, the queue you are attempting to delete might be named as a target for a generic queue, or the form you are attempting to delete might be specified for a print job. All references to a queue, form, or characteristic must be removed before you can delete the queue, form, or characteristic.

How to Perform This Task

Perform the following steps to find and remove references to a queue, form, or characteristic:

  1. Enter SHOW QUEUE/FULL/ALL_JOBS/OUTPUT=filespec, where filespec is a name of a file to which the display output of the command is to be sent.
  2. Use the SEARCH command to search the output file for the name of the form or queue, or the number of the characteristic to be deleted. The result of your search will include all references to the queue, form, or characteristic.
  3. If the SEARCH command reveals any queues with references to the queue, form, or characteristic you are trying to delete, perform the following steps:

    1. Use STOP/QUEUE/NEXT to stop each queue with an offending reference.
    2. Use START/QUEUE with the appropriate qualifiers to restart each queue without the reference.
  4. If the SEARCH command reveals any jobs with references to the queue, form, or characteristic you are trying to delete, perform the following steps to eliminate the job reference:

    1. Wait for the job to complete. (You might want to raise the priority of the job as explained in Changing the Scheduling Priority of a Job, so the job will be scheduled for processing sooner.)
    2. Perform either of the following actions:

Example

The following example includes several commands used to fix problems preventing the deletion of a queue:

$ DELETE/QUEUE JADE_BATCH [1] 
%DELETE-E-NOTDELETED, error deleting JADE_BATCH
-JBC-E-QUENOTSTOP, queue must be stopped to perform operation [2] 
$ STOP/QUEUE/NEXT JADE_BATCH [3] 
$ DELETE/QUEUE JADE_BATCH [4] 
%DELETE-E-NOTDELETED, error deleting JADE_BATCH  [5] 
-JBC-E-REFERENCED, existing references prevent deletion
$ SHOW QUEUE/FULL
.
.
.
Generic batch queue CLUSTER_BATCH [6]  
  /GENERIC=(JADE_BATCH,RUBY_BATCH,OPAL_BATCH) /OWNER=[SYSTEM] 
  /PROTECTION=(S:M,O:D,G:R,W:R)
.
.
.
$ STOP/QUEUE/NEXT CLUSTER_BATCH [7] 
$ START/QUEUE CLUSTER_BATCH/GENERIC=(RUBY_BATCH,OPAL_BATCH) [8] 
$ DELETE/QUEUE JADE_BATCH [9] 
The commands this example perform the following tasks:
  1. The DELETE/QUEUE command attempts to delete the queue.
  2. The message indicates that the queue is not stopped.
  3. The STOP/QUEUE/NEXT command stops the queue after allowing the current job to complete.
  4. The DELETE/QUEUE command again attempts to delete the queue.
  5. This time, the message indicates that references to the queue exist.
  6. The SHOW QUEUE/FULL command shows information about all queues. However, the only reference to JADE_BATCH names the queue as a target queue for the generic queue CLUSTER_BATCH.
  7. The STOP/QUEUE/NEXT command stops the generic queue that targets JADE_BATCH.
  8. The START/QUEUE command eliminates the reference to JADE_BATCH by restarting the generic queue without specifying JADE_BATCH as a target.
  9. The DELETE/QUEUE command successfully deletes the queue.

Solving Problems Deleting Files  

To delete a file using the PRINT/DELETE or SUBMIT/DELETE command, the clusterwide queue manager process must have access to the file specified. Otherwise, the file is printed or submitted but not deleted.

You can ensure that the PRINT/DELETE or SUBMIT/DELETE command deletes the specified files by mounting the disks on which the files reside clusterwide. To mount a disk clusterwide, use the /CLUSTER qualifier with the MOUNT command.

However, if your operating environment does not allow you to mount a disk clusterwide, you can resolve this problem by running the queue manager process on a node that has access to the disk. You can specify the node on which the queue manager process runs by specifying the /ON=node qualifier with the START/QUEUE/MANAGER command. For more information about this qualifier, refer to the OpenVMS DCL Dictionary .

Adding or Deleting a Device Control Library Module  

When attempting to add or delete a device control library module, you might see the following message:

$LIBRAR-F-OPENIN, error opening module-name
-RMS-E-FLK, file currently locked by another user
To add or delete a library module, you must stop all output queues to which the library is assigned. To determine which queues the library is assigned to, perform the following steps:
  1. Enter a command in the following format: SHOW QUEUE/FULL/OUTPUT=filespecwhere filespec is the name of a file to which the display output of the command is to be sent.
  2. Use the SEARCH command to search the output file for the name of the library.

The result of your search will include all queues to which that library is assigned. Stop the queues and reenter the command to add or delete the library module.


NoteThe SHOW QUEUE/FULL display shows the library assigned to a queue only if you explicitly assigned a library for the queue by including the /LIBRARY qualifier with INITIALIZE/QUEUE or START/QUEUE. If you do not explicitly assign a library to a queue, the default library, SYSDEVCTL, is used.

If the module you are trying to delete is in the default library, SYSDEVCTL, you must stop all queues for which SHOW QUEUE/FULL displays no library. To make sure the SYSDEVCTL library appears in the SHOW QUEUE/FULL display in the future, specify /LIBRARY=SYSDEVCTL when you restart the queue.


If you cannot stop the queues immediately, perform the following steps:
  1. Use the COPY command to copy the library to be modified into your own directory.
  2. Add the module to the copy, or delete the module from the copy.
  3. Use the COPY command to copy the library back to the directory SYS$COMMON:[SYSLIB]. As long as you use the same name for the modified library, the library will be picked up by each queue when the queue is stopped and restarted.

If your site has a large number of different printers, you can help prevent this problem by using more libraries, so that each library is assigned to fewer queues. For example, you should create and assign a different library for each type of printer, as explained in Assigning a Library to a Queue.

Fixing a Disabled Queue  

The queue manager attempts to correct any kind of corruption detected. If the queue manager detects corruption in a queue record, it might disable a queue to isolate the corruption. When a queue is disabled, the following message is written on the console and in the operator log file:

%QMAN-I-QUEDISCOR, queue 'queue_name' has been
disabled due to database corruption
When a queue is disabled, any attempt to modify or submit a job to it returns the following message:
%JBC-E-QUEDISABLED, disabled queue cannot be modified, nor can a job be
submitted to it
If you see either of the previous messages, perform the following actions:
  1. Contact your HP support representative.
  2. Delete the queue and create a new queue to replace it.

Reporting Queue Problems to HP 

If you encounter a problem with your queues, and you want to report it to HP, please provide as much information as possible. Reporting a Queuing System Problem to HP specifies the information that is most useful to HP in diagnosing your queuing system problems.


go to previous page: Maintaining Queues Maintaining Queues