Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Hello,
Although this is mainly HP Laserjet issue, this is also a Postscript
issue as infinite loops are easiest to do in PS.
If I send the following PS job to a LaserJet printer (LJ2420DN over
JetDirect card or embedded interface):
%!
/n 0 def { n (................) cvs == flush /n n 1 add def } loop
or this one
%!
{ } loop
which doesn't output anything back,
I have found no way to abort the job either using TCP connection, PJL,
Web interface SNMP. Even STOP button in the front panel doesn't seem
to do anything.
PS related rambling:
Laserjet PS doesn't seem to have /JobTimeout paramater which could be
used to work around naive infinite loops where job doesn't change the
JobTimeout on purpose.
ctl-D, ctl-C or <ESC>%-12345X don't abort the job either, not over the
original channel or a new TCP connection.
Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Antti Louko wrote:
> Hello,
>
> Although this is mainly HP Laserjet issue, this is also a Postscript
> issue as infinite loops are easiest to do in PS.
>
> If I send the following PS job to a LaserJet printer (LJ2420DN over
> JetDirect card or embedded interface):
>
> %!
> /n 0 def { n (................) cvs == flush /n n 1 add def } loop
>
> or this one
>
> %!
> { } loop
>
> which doesn't output anything back,
>
> I have found no way to abort the job either using TCP connection, PJL,
> Web interface SNMP. Even STOP button in the front panel doesn't seem
> to do anything.
>
> PS related rambling:
>
> Laserjet PS doesn't seem to have /JobTimeout paramater which could be
> used to work around naive infinite loops where job doesn't change the
> JobTimeout on purpose.
>
> ctl-D, ctl-C or <ESC>%-12345X don't abort the job either, not over the
> original channel or a new TCP connection.
>
> Any suggestions?
If anyone is trying to print with the 'lpr'-command, then 'ps2ps' create
a new ps-file (default is PSLanguageLevel 2) from the original ps-file.
In the case, where the original ps-file contain an infinite loop or
other bad things, there is no new ps-file. And of course, there is no
print-job too.
Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Oliver Bendix <oliver@chaos.gwdg.de> writes:
> Antti Louko wrote:
> > Hello,
> > [infinite loops in PS-files are evil]
> If anyone is trying to print with the 'lpr'-command, then 'ps2ps' create
> a new ps-file (default is PSLanguageLevel 2) from the original ps-file.
> In the case, where the original ps-file contain an infinite loop or
> other bad things, there is no new ps-file. And of course, there is no
> print-job too.
That is one way to handle the issue but it seems quite silly to run
same job twice just to check the evilness.
Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Antti Louko wrote:
>
> I am still looking a way to abort jobs in LJ.
The only way I have found is the power switch. When I sometimes send
"bad" jobs (that are fine according to GhostScript) to my HP printer,
the display shows an error code that means the controller is bad. When
that happens I have to cycle the power to fix it...
Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Antti Louko <alo@iki.fi.invalid> writes:
> ctl-D, ctl-C or <ESC>%-12345X don't abort the job either, not over the
> original channel or a new TCP connection.
I experimented a little more. It seems that pressing "Cancel" button
in the physical panel or in the web interface really does nothing
_until next page is being printed_. At that moment, an interrupt
error is executed in PS environment.
It would make sense to cause interrupt immediately when cancel is
executed.
I try to put this through HP support process, but I am not too
optimistic with that accomplishing anything. If there is an HP
printer person reading this, we may move this to mail correspondance
and try to do something.
Archived from groups: comp.lang.postscript,comp.periphs.printers (More info?)
Antti,
establishing 'Cancel a Print Job' seems to be black art for
Minolta QMS (printer button, then travelling through the menue),
Win98 and WinXP.
A time-out for a loop is hardly a solution. The loop has to be
limited for N cycles by the programmer.
The time consumption is not predictable, but a reasonable cycle
limit N is.
You are about to answer a thread that has been inactive for more than 6 months. If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.