Package: xpdf Version: 3.03-10 Severity: important Dear Maintainer,
since I upgraded from debian 6.x to 7.1 I cannot print any pdf documents with xpdf anymore; xpdf always crashes in libpoppler. (This may well be a bug in libpoppler.) If you need more information, e.g. from the core dump, just ask. Details below. * What led up to the situation? Just printing any pdf document from xpdf. It does not matter whether output is to a file or to the printer. * What exactly did you do (or not do) that was effective (or ineffective)? To reproduce: - Run seamonkey and load www.openstreetmap.org and maximize the window. - Hit ctrl-p and print the page into the file mozilla.pdf. - Close seamonkey - run "xpdf mozilla.pdf" - Hit ctrl-p in xpdf, select "Print to file" and hit the "Print" button Actually, it happens for me with all pdf files I try to print. * What was the outcome of this action? xpdf.real crashes in some libpoppler function and leaves a core dump: --> segmentation fault (core dumped) nice -20 xpdf mozilla.pdf When printing to a file it also leaves a 8192 byte long *.ps file that may provide some information of what went wrong. -- snip -- $ gdb /usr/bin/xpdf.real core (gdb) bt #0 0xb752580e in GooHash::find(GooString*, int*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #1 0xb75259fb in GooHash::lookup(GooString*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #2 0xb74ce26f in GlobalParams::getPSFont(GooString*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #3 0xb751189f in PSOutputDev::setupFont(GfxFont*, Dict*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #4 0xb75126c6 in PSOutputDev::setupFonts(Dict*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #5 0xb7512845 in PSOutputDev::setupResources(Dict*) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #6 0xb7512daa in PSOutputDev::writeDocSetup(PDFDoc*, Catalog*, int, int, bool) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #7 0xb7514de4 in PSOutputDev::init(void (*)(void*, char*, int), void*, PSFileType, char*, PDFDoc*, XRef*, Catalog*, int, int, PSOutMode, int, int, int, int, bool, int, int, bool) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #8 0xb75152f2 in PSOutputDev::PSOutputDev(char const*, PDFDoc*, XRef*, Catalog*, char*, int, int, PSOutMode, int, int, bool, int, int, int, int, bool, bool) () from /usr/lib/i386-linux-gnu/libpoppler.so.19 #9 0xb7796e5d in ?? () #10 0xb73b220f in XtCallCallbackList () from /usr/lib/i386-linux-gnu/libXt.so.6 #11 0xb767dae5 in ?? () from /usr/lib/i386-linux-gnu/libXm.so.2 #12 0xb73e86b0 in ?? () from /usr/lib/i386-linux-gnu/libXt.so.6 #13 0xb73e95cc in _XtTranslateEvent () from /usr/lib/i386-linux-gnu/libXt.so.6 #14 0xb73c0d00 in XtDispatchEventToWidget () from /usr/lib/i386-linux-gnu/libXt.so.6 #15 0xb73c14aa in ?? () from /usr/lib/i386-linux-gnu/libXt.so.6 #16 0xb73c1605 in XtDispatchEvent () from /usr/lib/i386-linux-gnu/libXt.so.6 #17 0xb73cd88e in XtAppProcessEvent () from /usr/lib/i386-linux-gnu/libXt.so.6 #18 0xb73c1a88 in XtAppMainLoop () from /usr/lib/i386-linux-gnu/libXt.so.6 #19 0xb778f67e in ?? () #20 0xb777da82 in main () -- snip -- -- mozilla.ps -- %!PS-Adobe-3.0 %Produced by poppler pdftops version: 0.18.4 (http://poppler.freedesktop.org) %%Creator: cairo 1.9.5 (http://cairographics.org) %%LanguageLevel: 2 %%DocumentSuppliedResources: (atend) %%DocumentMedia: plain 596 842 0 () () %%BoundingBox: 0 0 596 842 %%Pages: 2 %%EndComments %%BeginDefaults %%PageMedia: plain %%EndDefaults %%BeginProlog %%BeginResource: procset xpdf 3.00 0 %%Copyright: Copyright 1996-2004 Glyph & Cog, LLC /xpdf 75 dict def xpdf begin % PDF special state /pdfDictSize 15 def /pdfSetup { 3 1 roll 2 array astore /setpagedevice where { pop 3 dict begin /PageSize exch def /ImagingBBox null def /Policies 1 dict dup begin /PageSize 3 def end def { /Duplex true def } if currentdict end setpagedevice } { pop pop } ifelse } def /pdfStartPage { pdfDictSize dict begin /pdfFillCS [] def /pdfFillXform {} def /pdfStrokeCS [] def /pdfStrokeXform {} def /pdfFill [0] def /pdfStroke [0] def /pdfFillOP false def /pdfStrokeOP false def /pdfLastFill false def /pdfLastStroke false def /pdfTextMat [1 0 0 1 0 0] def /pdfFontSize 0 def /pdfCharSpacing 0 def /pdfTextRender 0 def /pdfPatternCS false def /pdfTextRise 0 def /pdfWordSpacing 0 def /pdfHorizScaling 1 def /pdfTextClipPath [] def } def /pdfEndPage { end } def % PDF color state /cs { /pdfFillXform exch def dup /pdfFillCS exch def setcolorspace } def /CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def setcolorspace } def /sc { pdfLastFill not { pdfFillCS setcolorspace } if dup /pdfFill exch def aload pop pdfFillXform setcolor /pdfLastFill true def /pdfLastStroke false def } def /SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if dup /pdfStroke exch def aload pop pdfStrokeXform setcolor /pdfLastStroke true def /pdfLastFill false def } def /op { /pdfFillOP exch def pdfLastFill { pdfFillOP setoverprint } if } def /OP { /pdfStrokeOP exch def pdfLastStroke { pdfStrokeOP setoverprint } if } def /fCol { pdfLastFill not { pdfFillCS setcolorspace pdfFill aload pop pdfFillXform setcolor pdfFillOP setoverprint /pdfLastFill true def /pdfLastStroke false def } if } def /sCol { pdfLastStroke not { pdfStrokeCS setcolorspace pdfStroke aload pop pdfStrokeXform setcolor pdfStrokeOP setoverprint /pdfLastStroke true def /pdfLastFill false def } if } def % build a font /pdfMakeFont { 4 3 roll findfont 4 2 roll matrix scale makefont dup length dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding exch def currentdict end definefont pop } def /pdfMakeFont16 { exch findfont dup length dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /WMode exch def currentdict end definefont pop } def % graphics state operators /q { gsave pdfDictSize dict begin } def /Q { end grestore /pdfLastFill where { pop pdfLastFill { pdfFillOP setoverprint } { pdfStrokeOP setoverprint } ifelse } if } def /cm { concat } def /d { setdash } def /i { setflat } def /j { setlinejoin } def /J { setlinecap } def /M { setmiterlimit } def /w { setlinewidth } def % path segment operators /m { moveto } def /l { lineto } def /c { curveto } def /re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath } def /h { closepath } def % path painting operators /S { sCol stroke } def /Sf { fCol stroke } def /f { fCol fill } def /f* { fCol eofill } def % clipping operators /W { clip newpath } def /W* { eoclip newpath } def /Ws { strokepath clip newpath } def % text state operators /Tc { /pdfCharSpacing exch def } def /Tf { dup /pdfFontSize exch def dup pdfHorizScaling mul exch matrix scale pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put exch findfont exch makefont setfont } def /Tr { /pdfTextRender exch def } def /Tp { /pdfPatternCS exch def } def /Ts { /pdfTextRise exch def } def /Tw { /pdfWordSpacing exch def } def /Tz { /pdfHorizScaling exch def } def % text positioning operators /Td { pdfTextMat transform moveto } def /Tm { /pdfTextMat exch def } def % text string operators /cshow where { pop /cshow2 { dup { pop pop 1 string dup 0 3 index put 3 index exec } exch cshow pop pop } def }{ /cshow2 { currentfont /FontType get 0 eq { 0 2 2 index length 1 sub { 2 copy get exch 1 add 2 index exch get 2 copy exch 256 mul add 2 string dup 0 6 5 roll put dup 1 5 4 roll put 3 index exec } for } { dup { 1 string dup 0 3 index put 3 index exec } forall } ifelse pop pop } def } ifelse /awcp { exch { false charpath 5 index 5 index rmoveto 6 index eq { 7 index 7 index rmoveto } if } exch cshow2 6 {pop} repeat } def /Tj { fCol 1 index stringwidth pdfTextMat idtransform pop sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 pdfTextMat dtransform 6 5 roll Tj1 } def /Tj16 { fCol 2 index stringwidth pdfTextMat idtransform pop sub exch div pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 pdfTextMat dtransform 6 5 roll Tj1 } def /Tj16V { fCol 2 index stringwidth pdfTextMat idtransform exch pop sub exch div 0 pdfWordSpacing pdfTextMat dtransform 32 4 3 roll pdfCharSpacing add 0 exch pdfTextMat dtransform 6 5 roll Tj1 } def /Tj1 { 0 pdfTextRise pdfTextMat dtransform rmoveto currentpoint 8 2 roll pdfTextRender 1 and 0 eq pdfPatternCS not and { 6 copy awidthshow } if pdfTextRender 3 and dup 1 eq exch 2 eq or { 7 index 7 index moveto 6 copy currentfont /FontType get 3 eq { fCol } { sCol } ifelse false awcp currentpoint stroke moveto } if pdfTextRender 4 and 0 ne pdfPatternCS or { 8 6 roll moveto false awcp /pdfTextClipPath [ pdfTextClipPath aload pop {/moveto cvx} {/lineto cvx} {/curveto cvx} {/closepath cvx} pathforall ] def currentpoint newpath moveto } { 8 {pop} repeat } ifelse 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def /TJm { pdfFontSize 0.001 mul mul neg 0 pdfTextMat dtransform rmoveto } def /TJmV { pdfFontSize 0.001 mul mul neg 0 exch pdfTextMat dtransform rmoveto } def /Tclip { pdfTextClipPath cvx exec clip newpath /pdfTextClipPath [] def } def /Tclip* { pdfTextClipPath cvx exec eoclip newpath /pdfTextClipPath [] def } def % Level 2 image operators /pdfImBuf 100 string def /pdfIm { image { currentfile pdfImBuf readline not { pop exit } if (%-EOD-) eq { exit } if } loop } def /pdfImM { fCol imagemask { currentfile pdfImBuf readline not { pop exit } if (%-EOD-) eq { exit } if } loop } def /pr { 2 index 2 index 3 2 roll putinterval 4 add } def /pdfImClip { gsave 0 2 4 index length 1 sub { dup 4 index exch 2 copy get 5 index div put 1 add 3 index exch 2 copy get 3 index div put } for pop pop rectclip } def /pdfImClipEnd { grestore } def % shading operators /colordelta { false 0 1 3 index length 1 sub { dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt { pop true } if } for exch pop exch pop } def /funcCol { func n array astore } def /funcSH { dup 0 eq { true } { dup 6 eq { false } { 4 index 4 index funcCol dup 6 index 4 index funcCol dup 3 1 roll colordelta 3 1 roll 5 index 5 index funcCol dup 3 1 roll colordelta 3 1 roll 6 index 8 index funcCol dup 3 1 roll colordelta 3 1 roll colordelta or or or } ifelse } ifelse { 1 add 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch 6 index 6 index 4 index 4 index 4 index funcSH 2 index 6 index 6 index 4 index 4 index funcSH 6 index 2 index 4 index 6 index 4 index funcSH 5 3 roll 3 2 roll funcSH pop pop } { pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul funcCol sc dup 4 index exch mat transform m -- snip -- (The file ends in a line with two spaces and no newline.) * What outcome did you expect instead? Successful printing instead of crash. -- System Information: Debian Release: 7.1 Architecture: i386 (i686) Kernel: Linux 3.11.1 (SMP w/4 CPU cores; PREEMPT) Locale: LANG=en_US.ISO-8859-15, LC_CTYPE=de_DE@euro (charmap=ISO-8859-15) Shell: /bin/sh linked to /bin/bash Versions of packages xpdf depends on: ii lesstif2 1:0.95.2-1.1 ii libc6 2.13-38 ii libgcc1 1:4.7.2-5 ii libpoppler19 0.18.4-6 ii libstdc++6 4.7.2-5 ii libx11-6 2:1.5.0-1+deb7u1 ii libxt6 1:1.1.3-1+deb7u1 Versions of packages xpdf recommends: pn cups-bsd <none> pn gsfonts-x11 <none> ii poppler-data 0.4.5-10 pn poppler-utils <none> xpdf suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org