Package: pstoedit
Version: 3.75-1
Severity: serious
Justification: unusable by some users
X-Debbugs-Cc: t...@mirbsd.de, hill...@web.de, debian-tex-ma...@lists.debian.org
Control: affects -1 purifyeps

I’ve noticed purifyeps (which is needed for Tₑχ/LᴬTᴇΧ to process .eps files)
fails on some inputs and could trace this down to pstoedit’s output for the
broken files to be much too small.

I’m attaching the full testcase with sources and all intermediate files.

This is on a bullseye system (plus two debugging prints in purifyeps which
Hilmar should just ignore comparing his output to mine).

The full screen log of the process (from SVG via PDF to EPS) follows, for
a sampling of two files, one of which succeeds, the other doesn’t. Very
noticeable, besides the test-1.mp size, is “x: 999999 y: 999999 x: 0 y: 0”
(failure) vs. x: 0 y: 0 x: 22 y: 13 (success).


$ inkscape -D --export-filename=test1.pdf --export-type=pdf 
--export-pdf-version=1.4 teckids_logo_image.svg

(inkscape:25600): dbind-WARNING **: 22:09:15.196: AT-SPI: 
Error retrieving accessibility bus address: 
org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not 
provided by any .service files
$ pdftops -eps test1.pdf test1-a.eps
$ purifyeps test1-a.eps test1-b.eps
D: running: pstoedit -ssp -f mpost -fontmap "/usr/share/pstoedit/mpost.fmp" 
"test1-a.eps" "/tmp/purifyeps-V7yHSU2q.mp" 1>&2
pstoedit: version 3.75 / DLL interface 108 (built: Jan  2 2020 - release build 
- g++ 9.2.1 20191130 - 64-bit) : Copyright (C) 1993 - 2020 Wolfgang Glunz
D: running: echo X | mpost /tmp/purifyeps-V7yHSU2q.mp 1>&2
This is MetaPost, version 2.00 (TeX Live 2020/Debian) (kpathsea version 6.3.2)
(/usr/share/texlive/texmf-dist/metapost/base/mpost.mp
(/usr/share/texlive/texmf-dist/metapost/base/plain.mp
Preloading the plain mem file, version 1.005) ) (/tmp/purifyeps-V7yHSU2q.mp )
Transcript written on purifyeps-V7yHSU2q.log.
purifyeps: No such file or directory (/tmp/purifyeps-V7yHSU2q.1)
D: tempbase=/tmp/purifyeps-V7yHSU2q
$ pstoedit -v -ssp -f mpost -fontmap "/usr/share/pstoedit/mpost.fmp" 
test1-a.eps test-1.mp
pstoedit: version 3.75 / DLL interface 108 (built: Jan  2 2020 - release build 
- g++ 9.2.1 20191130 - 64-bit) : Copyright (C) 1993 - 2020 Wolfgang Glunz
loading plugins from /usr/lib/x86_64-linux-gnu/pstoedit using suffix: .so
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so 
completed successfully
path to myself: /usr/bin/pstoedit
pstoedit home directory : /usr/bin
pstoedit data directory : /usr/share/pstoedit
Loading fontmap from /usr/share/pstoedit/mpost.fmp
loading system specific fontmap from /usr/share/pstoedit/windows.fmp

Looking up where to find the PostScript interpreter.
GS not set, trying registry for common/gstocall
nothing found so far, trying default: gs
Value found is:gs

Looking up specific options for the PostScript interpreter.
First trying registry for common/GS_LIB
still not found an entry - now trying GS_LIB env var.
GS_LIB not set
Value returned:

now calling the interpreter via: gs -dDELAYBIND -dWRITESYSTEMDICT -dESTACKPRINT 
-dNODISPLAY -dDELAYSAFER -dNOEPS "/tmp/psine2b20s"
GPL Ghostscript 9.53.3 (2020-10-01)
Copyright (C) 2020 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Now checking the temporary output
 got 1 page(s) from /tmp/psoutFgTRot
x: 999999 y: 999999 x: 0 y: 0
now postprocessing the interpreter output
postprocessing the interpreter output finished
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
$ ls -l test1*
-rw-r--r-- 1 tglase tglase 59516 25. Mär 22:09 test1-a.eps
-rw-r--r-- 1 tglase tglase 15492 25. Mär 22:09 test1.pdf
$ inkscape -D --export-filename=test2.pdf --export-type=pdf 
--export-pdf-version=1.4 deutsch.svg

(inkscape:25786): dbind-WARNING **: 22:11:16.707: AT-SPI: 
Error retrieving accessibility bus address: 
org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not 
provided by any .service files
$ pdftops -eps test2.pdf test2-a.eps
$ purifyeps test2-a.eps test2-b.eps
D: running: pstoedit -ssp -f mpost -fontmap "/usr/share/pstoedit/mpost.fmp" 
"test2-a.eps" "/tmp/purifyeps-RPp7qI2N.mp" 1>&2
pstoedit: version 3.75 / DLL interface 108 (built: Jan  2 2020 - release build 
- g++ 9.2.1 20191130 - 64-bit) : Copyright (C) 1993 - 2020 Wolfgang Glunz
D: running: echo X | mpost /tmp/purifyeps-RPp7qI2N.mp 1>&2
This is MetaPost, version 2.00 (TeX Live 2020/Debian) (kpathsea version 6.3.2)
(/usr/share/texlive/texmf-dist/metapost/base/mpost.mp
(/usr/share/texlive/texmf-dist/metapost/base/plain.mp
Preloading the plain mem file, version 1.005) ) (/tmp/purifyeps-RPp7qI2N.mp
[1{psfonts.map}] )
1 output file written: purifyeps-RPp7qI2N.1
Transcript written on purifyeps-RPp7qI2N.log.

File seems to have been purified successfully.
D: tempbase=/tmp/purifyeps-RPp7qI2N
$ pstoedit -v -ssp -f mpost -fontmap "/usr/share/pstoedit/mpost.fmp" 
test2-a.eps test-2.mp
pstoedit: version 3.75 / DLL interface 108 (built: Jan  2 2020 - release build 
- g++ 9.2.1 20191130 - 64-bit) : Copyright (C) 1993 - 2020 Wolfgang Glunz
loading plugins from /usr/lib/x86_64-linux-gnu/pstoedit using suffix: .so
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so 
completed successfully
loading plugin: /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
creating Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
loading dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so 
completed successfully
path to myself: /usr/bin/pstoedit
pstoedit home directory : /usr/bin
pstoedit data directory : /usr/share/pstoedit
Loading fontmap from /usr/share/pstoedit/mpost.fmp
loading system specific fontmap from /usr/share/pstoedit/windows.fmp

Looking up where to find the PostScript interpreter.
GS not set, trying registry for common/gstocall
nothing found so far, trying default: gs
Value found is:gs

Looking up specific options for the PostScript interpreter.
First trying registry for common/GS_LIB
still not found an entry - now trying GS_LIB env var.
GS_LIB not set
Value returned:

now calling the interpreter via: gs -dDELAYBIND -dWRITESYSTEMDICT -dESTACKPRINT 
-dNODISPLAY -dDELAYSAFER -dNOEPS "/tmp/psinrCbxUI"
GPL Ghostscript 9.53.3 (2020-10-01)
Copyright (C) 2020 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Now checking the temporary output
 got 1 page(s) from /tmp/psoutIHeWwG
x: 0 y: 0 x: 22 y: 13
now postprocessing the interpreter output
postprocessing the interpreter output finished
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvmagick++.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvwmf.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvlplot.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvstd.so
closing dynamic library /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
not really closing dynamic library because of pthread problem under Linux - 
contact author for details or check dynload.cpp from pstoedit source code 
/usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so
destroying Dynloader for /usr/lib/x86_64-linux-gnu/pstoedit/libp2edrvpptx.so



-- System Information:
Debian Release: 11.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 
'stable-debug'), (500, 'oldstable-updates'), (500, 'oldoldstable'), (500, 
'stable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-8-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_WARN
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/lksh
Init: sysvinit (via /sbin/init)

Versions of packages pstoedit depends on:
ii  ghostscript      9.53.3~dfsg-7+deb11u2
ii  libc6            2.31-13+deb11u2
ii  libpstoedit0c2a  3.75-1
ii  libstdc++6       10.2.1-6

pstoedit recommends no packages.

Versions of packages pstoedit suggests:
ii  fig2dev [transfig]  1:3.2.8-3+b1

-- no debconf information

Attachment: tst.tgz
Description: application/gzip

Reply via email to