13.10 Solving Queue Problems
The following sections can help you solve common queue
problems:
Problem Section
Section 13.10.5
Problems adding or deleting a module from a device
control library
Section 13.10.6
Queue is disabled Section 13.10.7
13.10.1 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 deter-
mine the status of the queue with which the printer is
associated:
SHOW QUEUE/FULL queue name
Table 13-4 lists and describes queue statuses.
2. Enter the command SHOW LOGICAL/FULL SMBSRVSHR
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 de-
fined. However, if SMBSRVSHR is assigned, deassign
it by entering the command DEASSIGN/access_mode
SMBSRVSHR. (For more information about the com-
mands SHOW LOGICAL/FULL and DEASSIGN, see the
OpenVMS DCL Dictionary .)
3. If a print request returns a fatal error or does not print,
perform the following steps:
a. Stop the queue by entering the STOP/QUEUE/RESET
command.
b. If the output device is spooled, despool it using the SET
DEVICE/NOSPOOLED command.
c. Copy the file you are attempting to print by entering
the COPY command in the following format:
COPY filename output-device:
Be sure to include a colon ( : ) after the device name.
To determine whether a queue is using the LATSYM
symbiont, enter the SHOW QUEUE/FULL command.
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:
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 termi-
nal, 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.
13.10.2 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 Section 13.9.6.3 for infor-
mation about holding and releasing a job.
If the job is in the pending state, the /FULL qualifier en-
ables 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:E,O:D,G:R,W:W)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
684 PROBLEMS CHURCHILL 3118 Pending (check execution queues)
Submitted 7-MAR-1995 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:E,O:D,G:R,W:W)
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
687 PM$SPEECH CHURCHILL 3558 Pending (queue stopped)
Submitted 7-MAR-1995 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 eligi-
ble to execute. Table 13-7 lists common causes and solutions
for a pending status.
13.10.2.1 Fixing Print Jobs That Are Pending Due to Stock Mismatch
When monitoring jobs, you might see a print job that is pend-
ing 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:
$ 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-1995 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, do
one or more of the following:
.
Make the stocks match by mounting a different form on
the queue (for example, using the SET QUEUE/FORM_
MOUNTED command) or by specifying a different form
with the job (for example, using the SET ENTRY/FORM
command).
.
Move the job to a queue on which the stock of the
mounted form matches the stock of the job's form (for
example, using the SET ENTRY/REQUEUE command).
.
Delete the job (for example, using the DELETE/ENTRY
command).
See Section 13.8.9 for more information about forms.
To fix jobs that are pending because of a characteristics
mismatch, do one or more of the following:
.
Move the job to a queue on which the characteris-
tics match those of the job (for example, using the SET
ENTRY/REQUEUE command).
.
Delete the job (for example, using the DELETE/ENTRY
command).
.
Make the characteristics match by assigning new char-
acteristics to the queue (for example, using the SET
QUEUE/CHARACTERISTIC command).
See Section 13.8.3 for more information about characteristics.
If you cannot fix the problem immediately, stop the queue
by entering the command 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 Section 13.9.1.14.
When the problem is fixed, deassign the logical queue and
start the queue by entering the START/QUEUE command.
13.10.4 Determining Why an Autostart Queue Will Not
Start
If you attempt to start an autostart queue with the ENABLE
AUTOSTART/QUEUES command and the queue does
not start, the queue might not be active for autostart. The
ENABLE AUTOSTART/QUEUES command starts only
active autostart queues capable of running on a node. To
activate an autostart queue, you must include the /START
qualifier with the INITIALIZE/QUEUE command or enter
the START/QUEUE command. For 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
1 The ENABLE AUTOSTART/QUEUES command at-
tempts 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 deac-
tivated with a STOP/QUEUE/NEXT or STOP/QUEUE
/RESET command.
3 The START/QUEUE command activates the queue for
autostart.
4 The SHOW QUEUE command informs you that the
queue is started.
13.10.5 Solving Problems Deleting a Queue, Form, or
Characteristic
If you are having problems deleting a queue, form, or char-
acteristic, make sure you have met the following require-
ments:
.
When deleting a form or characteristic with the DELETE
/FORM or DELETE/CHARACTERISTIC command, you
must specify the name assigned to the form or char-
acteristic. (The form or characteristic number cannot
be used with the DELETE command.) To determine
the name of a form or characteristic, enter the SHOW
QUEUE/FORM or SHOW QUEUE/CHARACTERISTIC
command.
.
A queue must be stopped before being deleted.
.
All references to a queue, form, or characteristic must
be removed before you can delete the queue, form, or
characteristic.
If you see a message similar to the following, 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 ref-
erences 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 the command SHOW QUEUE/FULL/ALL
/OUTPUT= filename , where filename 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 refer-
ences to the queue, form, or characteristic you are trying
to delete, perform the following steps:
a. Use the STOP/QUEUE/NEXT command to stop each
queue with an offending reference.
b. Use the START/QUEUE command with the appro-
priate qualifiers to restart each queue without the
reference.
4. If the SEARCH command reveals any jobs with refer-
ences to the queue, form, or characteristic you are trying
to delete, perform one of the following steps to eliminate
the job reference:
.
Wait for the job to complete. (You might want to raise
the priority of the job as explained in Section 13.9.6.4,
so the job will be scheduled for processing sooner.)
.
Delete the job as explained in Section 13.9.6.8.
.
Modify the options for the job as explained in
Section 13.9.6.2, or ask the owner of the job to do
so.
Example
The following example includes several commands used to fix
problems preventing the deletion of a queue:
EXAMPLE: Click to display Example.
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 informa-
tion 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.
13.10.6 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 similar to the following, where file-
name is the name of a file to which the display output of
the command is to be sent:
SHOW QUEUE/FULL/OUTPUT=filename
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.
If you cannot stop the queues immediately, perform the
following steps:
1. Use the COPY command to copy the library to be modi-
fied 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 Section 13.9.5.2.
13.10.7 Fixing a Disabled Queue
The queue manager attempts to correct any kind of cor-
ruption detected. If the queue manager detects corruption in
a queue record, it might disable a queue to isolate the cor-
ruption. 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, do the following:
13.10.8 Reporting Queue Problems to Digital
If you encounter a problem with your queues, and you want
to report it to Digital, please provide as much information as
possible. Section 12.14 specifies the information that is most
useful to Digital in diagnosing your queuing system problems.