Re: rel-0-8-1; GS errors with gs-gpl, gs-afpl in Debian

David Kastrup <[email protected]> Thu, 17 Mar 2005 18:00:07 +0100
Newsgroups gmane.emacs.auc-tex
Organization Organization?!?
Message-ID <[email protected]>
Frank Küster <[email protected]> writes:

> Processes fine if /usr/bin/gs points to gs-esp.  If it points to
> gs-gpl, version 8.01, I get an error where the preview is supposed
> to appear.  Interestingly, there is not the exclamation mark sign,
> but just a square in colored shade, and the original source code
> after it.

Square in colored shade sounds like it is not able to find the image
in the path.

> It offers the mouse-2 and mouse-3 options as before, and the mouse-2
> error is:
>
> gs -q -dSAFER -dDELAYSAFER -dNOPAUSE -DNOPLATFONTS -dPrinted -dTextAlphaBits\=4 -dGraphicsAlphaBits\=4 -sDEVICE\=png16m -r123.035x122.862
> GS>/.preview-BP currentpagedevice/BeginPage get dup null eq {pop{pop}bind}if def <</BeginPage{currentpagedevice/PageSize get dup 0 get 1 ne exch 1 get 1 ne or{.preview-BP gsave 0.705882 0.933333 0.705882 setrgbcolor false setstrokeadjust 3 setlinewidth clippath strokepath matrix setmatrix true {2 index{newpath}if round exch round exch moveto pop false}{round exch round exch lineto}{curveto}{closepath}pathforall pop fill grestore }{pop}ifelse}bind/PageSize[1 1]>>setpagedevice/preview-do{[count 3 roll save]3 1 roll{setpagedevice}stopped{handleerror quit}if cvx systemdict/.runandhide known{.setsafe(AFPL Ghostscript)product ne{<<>>setpagedevice}if{.runandhide}}if stopped{handleerror quit}if count 1 ne{quit}if aload pop restore<</OutputFile(/dev/null)>>setpagedevice}bind def (_region_.prv/tmp2028NAH/preview.dsc)(r)file dup dup 0 setfileposition 436()/SubFileDecode filter cvx exec dup dup 436 setfileposition 52()/SubFileDecode filter cvx <</OutputFile(_region_.prv/tmp2028NAH/prev001.png)>>preview-do
> Error: /invalidfileaccess in --.outputpage--
> Operand stack:
>    1   true

[...]

Just forget preview-latex 0.8.1.  I have given up on the plethora of
utterly broken security implementations of GhostScript.  GNU
GhostScript is broken in different ways than AFPL GhostScript, and
versions 6.x and 7.x and 8.x are all broken in different ways.  And
ESP GhostScript and GPL GhostScript (which is different from GNU
GhostScript again) have their own variants of brokenness, as well.

Hopeless.  Report the bug, get a different one in the next version.

The problem is that a save object created before .safer is intended to
be able to restore security settings to the state of its creation.

But this does not work, and the manner in which it does not work
differs from GhostScript to GhostScript, and they are simply not able
to get this right.

I have in preview-latex 0.9 resorted to a completely different scheme
of image file name allocation which has the disadvantage that image
file names bear no relation anymore to the source snippets (and names
will tend to be different on each run), and the advantage that I don't
need to revert .safer, ever.

We have fought this bug in GhostScript for almost every new
GhostScript release, starting with preview-latex 0.5.8 or so and
GhostScript 6.53 or 7.0.  I've given up on it.  Let them invent new
ways of breaking this functionality if they have fun doing so.

preview-latex 0.9 does no longer depend on that.

Sorry for ranting, but there is no way whatsoever that I will
volunteer any prospective patches to preview-latex 0.8.1 that might
hold up until the next GhostScript release in any branch breaks it
again.

Update to 0.9.  Tough.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum