[next] [previous] [contents]

  13.10 Solving Queue Problems
  The following sections can help you solve common queue
  problems:


  Problem Section



  General printer problems
Section 13.10.1
  Pending jobs Section 13.10.2
  Stock mismatch problems Section 13.10.2.1
  Characteristics mismatch problems Section 13.10.2.2
  Stalled output queues Section 13.10.3
  Autostart queues that will not start Section 13.10.4
  Problems deleting queues, forms, and characteris-
  tics

                                                                      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.
If the COPY command does not produce output, a
            PRINT request will not work.
  4. If the problem is on a queue using the LATSYM sym-
        biont, 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 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:


        a. Stop the queue by entering the STOP/QUEUE/RESET
            command.
        b. Restart the queue using the START/QUEUE
            /NOPROCESSOR command.

        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.

  13.10.2.2 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:
  $ 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-1995 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, 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.

  13.10.3 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 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.



                                            Note

        The 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 the INITIALIZE/QUEUE or START
        /QUEUE command. 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 the SHOW QUEUE/FULL command 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 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:

  1. Submit a Software Performance Report (SPR) and in-
        clude copies of the queue file and master file of the queue
        database as explained in
Section 12.14.
  2. Delete the queue and create a new queue to replace it.

  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.