SOLUTION: Timeout errors 
Author Message
 SOLUTION: Timeout errors

Timeout errors were a point of confusion in our lab for a long time.
Because we finally solved our timeout problems, and because others
have asked related questions recently on this newsgroup, I thought
I would post an informational message about what we've learned
on the subject.

I apologize for the length of this posting.

UNDERSTANDING TIMEOUT ERRORS

A timeout error means the the printer has decided to abort the
print job because one of its internal timers ran out.
There are three standard timers configured in a postscript printer.
These are documented in appendix D of the Red Book*, but here's more
detail:

job timeout             The maximum time a single print job is allowed
                        to run, in seconds.  If it doesn't finish in
                        this amount of time, it is aborted, and the
                        current page has a "timeout" error printed on it.
                        The rest of the job is thrown away, like with
                        most PostScript errors.

manual feed timeout     The amount of time the printer will wait for someone
                        to manual-feed a sheet of paper (or envelope) before
                        giving up and aborting the print job, in seconds.

wait timeout            The amount of time the printer will wait after it
                        stops receiving a flow of PostScript from the host
                        before aborting the print job, in seconds.
                        The idea here is, "if the print job is still running
                        even though we haven't seen any new data for a long
                        time, then there may be a problem like an infinite-
                        loop, so let's stop the job."

OUR EXPERIENCE

We have two HP Laserjet III printers with the PostScript cards installed
(Level 1 PostScript).  This printer has an 8 ppm print engine with
moderately slow PostScript (in my opinion).

For a long time we have had problems with large print jobs timing out.
Documents longer than about 9 pages would never come out without some kind of
timeout error every time.  Single page graphics such as screen snapshots
would even fail from time to time!  I knew it wasn't a hardware failure,
because both of our printers would do it all the time.  Calls to HP technical
people and to our terminal server vendor yielded nothing.  We played with
flow-control and tried direct-connecting the printer, no improvement.

The actual solution was to change the timeout values to:

                0 60 0

In other words, no job timeout, and no wait timeout.  The concept of these
timeouts makes no sense when you realize that a single ordinary job could
take a long time to print.  I have a 1-page graphic that takes >5 minutes
of thinking time once it is sent to the printer!  If the printer is working
and there's nothing wrong with the job, why should it be aborted?

The wait timeout makes even less sense than the job timeout.  PostScript
is a programming language, for goodness sake.  A legal print job that takes
10 seconds to send to the printer at 9600 baud could generate 100 pages or
more of full-page output, if it needed too.  That's going to take some time
to print, but it took very little time to transfer.  Why require the computer
to "keep sending stuff", just so the job can complete?

And of course the reverse.  Hugely complex drawings that compute for a long
time in the printer before ejecting even the first page.  An example of this
would be a poster-sized drawing that's being printed on ordinary paper,
so that you can cut and paste with scissors and tape to put it together.
The usual way of doing this is drawing the ENTIRE poster on each page of
paper, and letting the clipping algorithm remove the parts that won't fit on
the page.  Then just reposition the origin for each page to get a different
portion of the big drawing on each page.

Faster PostScript print systems would help here, but only up to a point.
People usually want any size printout to work on their printer, even if
it has to take a long time.  We have one faculty person here who regularly
prints things overnight, because it takes about 4-6 hours (!) to print
his whole document (10 - 20 pages).

SETTING TIMEOUT VALUES

All of these timeouts can be configured in the printer by talking to it
directly.  There are two ways to change parameters: just for the current
print job, and as the default for all future print jobs.  The default
settings stay set in the printer even during power off; the printer usually
has some kind of non-volatile memory (probably RAM memory with a battery
for power).  Please see the Red Book for details on changing these
parameters (look for "setjobtimeout" and "setdefaulttimeouts").

IN RETROSPECT

It would be nice if more information could be relayed in the error message,
than the ambiguous "timeout" error.  Since there are different ways that
a job can time out, it would be nice to say which one the user got nailed by!
A powerfully informative error message might look like,

        Error: job timeout
        Description:
          Your print job has been aborted at this point because it has
          exceeded the default amount of time this printer is configured to
          allow it to run, which is <H> hours, <M> minutes, <S> seconds.

Hmm.  Maybe someday.

----------
* PostScript(R) Language Reference Manual by Adobe Systems, Incorporated
  Addison-Wesley Publishing Company

--



NICname: PB1                            ...arizona!naucse!root



Wed, 16 Aug 1995 13:32:12 GMT  
 SOLUTION: Timeout errors

Quote:

> Timeout errors were a point of confusion in our lab for a long time.
> [many lines deleted]
> ... The concept of these timeouts makes no sense when you realize
> that a single ordinary job could take a long time to print. I have
> a 1-page graphic that takes >5 minutes of thinking time once it is
> sent to the printer!  If the printer is working and there's nothing
> wrong with the job, why should it be aborted?

The timeouts make lots of sense in shared environments. If a printer
is a shared resource, and somebody sends a job with an infinite loop
(in PostScript), the job timeout will kill the job, allowing other
users a chance to print without power-cycling the printer. The length
of the timeout is settable so that someone can decide how long is long
enough. One hole in my argument here is that unless the password is
controlled, a malicious or thoughtless user can change the timeout.

Quote:
> The wait timeout makes even less sense than the job timeout.
> ... Why require the computer to "keep sending stuff", just so the
> job can complete?

Again, in a shared environment, imagine what happens if the sending
computer crashes, is turned off, or disconnected from a network. The
printer is waiting for an end-of-job which never arrives. The
waittimeout will not kill the job if EOJ arrives but the job is still
printing or computing, as in your next paragraph. Only jobtimeout
will stop it there.

Quote:
> [more lines deleted]
> It would be nice if more information could be relayed in the error
> message, than the ambiguous "timeout" error. Since there are
> different ways that a job can time out, it would be nice to say
> which one the user got nailed by!

Agreed, it would be nice. You could certainly write an error
handler to distinguish jobtimeout from the others by examining
realtime (in Level 1) or reading the value of the jobtimeout
clock (in level 2). Distinguishing wait from manualfeed would
require more subtlety, and probably cannot be done reliably.

Side notes: The timeout errors are, by definition, system dependent.
The three you mention will exist on many printers, but may make no
sense in some environments. The behavior of the default error handler
may also be different in different environments. I do not believe
tht printing the timeout message on the page is not standard in most
printers, but I am not the right person to ask.

Stephen Zisk                     Views and opinions expressed are mine,
Adobe Systems Incorporated       and do not represent the position of
Eastern Regional Office          Adobe Systems Incorporated.
24 New England Executive Park
Burlington MA 01803              They pay me but they don't muzzle me!



Mon, 21 Aug 1995 06:06:17 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Solution to error 800401f9 - Error in the DLL

2. HP Deskjet 1600CM gives timeout ERROR [long]

3. Timeout error on HP Deskjet 1200/PS

4. TimeOut for an error

5. Avoiding Timeout Errors

6. Microsoft VBScript runtime error '800a01fb' - solution

7. wscript.timeout causes Out Of Memory error?!?

8. Paperwasting Timeout-error

9. Outlook.application from VBScript - DCOM timeout errors

10. Timeout error message on HP1200C/PS

11. What is a timeout error?

12. HP Deskjet 1200c/ps - extra page: ERROR:timeout

 

 
Powered by phpBB® Forum Software