[Python-apps-team] Bug#515184: pkpgcounter failes to read PJL-wrapped postscript

alet at librelogiciel.com alet at librelogiciel.com
Sat Feb 14 15:13:12 UTC 2009


On Sat, Feb 14, 2009 at 03:21:00PM +0100, Joachim Breitner wrote:
> Package: pkpgcounter
> Version: 3.50-4
> Severity: normal
> Tags: patch
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> when trying to get ink accounting working here, it failed because the
> file that CUPS sent to pkpgcounter (via pykota) contained a PJL header:
>
> $ pkpgcounter -cGC /var/spool/cups/tmp/cupspykota-Insterdrucker-nomeata-21
> Error: /undefined in !R!CRES;SCRN0;RGBL0,0;RGBL1,0;RGBL2,0;HUE0,0;HUE1,0;HUE2,0;HUE3,0;HUE4,0;HUE5,0;HUE6,0;LGHT0,0;LGHT1,0;SATU0;EXIT;
> perand stack:
>
> Execution stack:
>    %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1905   1   3   %oparray_pop   1904   1   3   %oparray_pop   1888   1   3   %oparray_pop   1771   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
> Dictionary stack:
>    --dict:1156/1684(ro)(G)--   --dict:0/20(G)--   --dict:92/200(L)--
> Current allocation mode is local
> Current file position is 262
> GPL Ghostscript 8.62: Unrecoverable error, exit code 1
> Command failed : 'gs -sDEVICE=tiff24nc -dPARANOIDSAFER -dNOPAUSE -dBATCH -dQUIET -r"72" -sOutputFile="/tmp/tmp1TpTnP" "/var/spool/cups/tmp/cupspykota-Insterdrucker-nomeata-21"'
>
> A test file is appended.
>
> I could work around by adding a PJL-removing script to the package and adding a second totiffcommand that tries it with that, but I assume that is not the proper solution.


This is a bug in GhotScript, not in pkpgcounter as can be seen below :


jerome at lafrime:~$ gs testprintfile
GPL Ghostscript 8.62 (2008-02-29)
Copyright (C) 2008 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefined in
!R!CRES;SCRN0;RGBL0,0;RGBL1,0;RGBL2,0;HUE0,0;HUE1,0;HUE2,0;HUE3,0;HUE4,0;HUE5,0;HUE6,0;LGHT0,0;LGHT1,0;SATU0;EXIT;
perand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--
   --nostringval--   2   %stopped_push   --nostringval--
   --nostringval--   --nostringval--   false   1   %stopped_push   1905
   1   3   %oparray_pop   1904   1   3   %oparray_pop   1888   1   3
   %oparray_pop   1771   1   3   %oparray_pop   --nostringval--
   %errorexec_pop   .runexec2   --nostringval--   --nostringval--
   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1151/1684(ro)(G)--   --dict:0/20(G)--   --dict:92/200(L)--
Current allocation mode is local
Current file position is 262
GPL Ghostscript 8.62: Unrecoverable error, exit code 1
jerome at lafrime:~$

pkpgcounter itself correctly parses the file with its internal parser,
which doesn't try to interpret postscript (and so is limited of course) :

jerome at lafrime:~$ pkpgcounter --debug testprintfile
Input file is in the 'PostScript' file format.
1 * page #1
1 * page #2
Internal parser said : 2 pages
2
jerome at lafrime:~$

but when pkpgcounter wants to convert this file to TIFF to do ink usage
based print accounting, it uses GhostScript (because it was easier ;-)
and so it fails because of GhostScript's own failure to read this file.

not sure how to reassign this bug to ghostscript, but this is what to
do.

in any case, thanks a lot for your feedback.

hth

Jerome Alet





More information about the Python-apps-team mailing list