Package: xpdf
Version: 3.03-3

I thought this was Bug#640967, but I guess it's something else.
Consider the PDF file at
http://www.state-machine.com/arm/Building_bare-metal_ARM_with_GNU.pdf

When I open it, I get page after blank page containong only
images and background shading.  Ignoring text in logos, the
first "normal" text I see are the headings "[1-1]" through "[1-6]"
on page 6.  Blue link underlines are also visible, but not the text
they are underlining.

I think line 31 of the 3.03-3 /etc/xpdf/xpdfrc has a typo: it says
"fontFile Helvetic", which I thonk should have a trailing a.
But fixing that doesn't change it.

It does display on startup a number (72) of copies of
Error: Unknown config file command '{0:t}' ({1:t}:{2:d})
followed by a single error message
Error: Expected the default config, but wasn't able to find it, or it isn't a 
Dictionary


These are emitted while reading the
/usr/share/xpdf/xpdfrc-$LANGUAGE files.  They appear to correspond
to the displayCIDFontTT lines; when I comment that out of
/usr/share/xpdf/xpdfrc-chinese-simplified, no error message is
emitted until -chinese-traditional is read.

A huge number of errors appear while reading the -japanese
file; I haven't tracked those down.

The final error line happens shortly after opening the actual .pdf
file, well after the xpdfrc file is read.  (There is no ~/.xpdfrc.)
The sequence of system calls leading up to that does not exactly fill
me with confidence about the code quality:

stat64($file) - Okay, I see, make sure it's not a device node or something
open($file) = 4
fstat64(4) - double check type, find size = 820466
fstat64(4) - why again?
_llseek(4, 819200, SEEK_SET) - Seek to END-1266; no idea why
read(4, buf, 1266) = 1266
fstat64(4) - why again?
_llseek(4, 819200, SEEK_SET) - Huh?  We just did that.
read(4, buf, 4096) = 1266.  Interesting that the previous read knew the 
expected size, but this doesn't.

_llseek(4, 0, SEEK_SET) - Ah, about to start for real.
read(4, buf, 4096) = 4096
_llseek(4, 4096, SEEK_SET) - Dude, we're already there!
_llseek(4, 4096, SEEK_SET)
_llseek(4, 4096, SEEK_SET)
_llseek(4, 4096, SEEK_SET)
_llseek(4, 4096, SEEK_SET)
_llseek(4, 4096, SEEK_SET) - This is getting monotonous
read(4, buf, 4096) = 4096
_llseek(4, 8192, SEEK_SET)
_llseek(4, 8192, SEEK_SET)
_llseek(4, 8192, SEEK_SET) - Again, what's the point?

_llseek(4, 0, SEEK_SET) - Back to the beginning?  Make up your mind!
read(4, buf, 4096) = 4096
_llseek(4, 4096, SEEK_SET)
_llseek(4, 4096, SEEK_SET)
read(4, buf, 4096) = 4096

_llseek(4, 0, SEEK_SET) - A *third* time??
read(4, buf, 4096) = 4096
_llseek(4, 4096, SEEK_SET)
read(4, buf, 4096) = 4096

_llseek(4, 0, SEEK_SET) - FOUR???
read(4, buf, 4096)
write(2, "Expected the default config, but wasn't able to find it, or it isn't 
a Dictionary", 81)
write(2, "\n", 1)
_llseek(4, 4096, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Five.  This is just getting stupid...
read(4, buf, 4096)
_llseek(4, 4096, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Six.  I think I'm going insane.
read(4, buf, 4096)
_llseek(4, 4096, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Seven.  I'll be in the corner holding myself and 
rocking back and forth.
read(4, buf, 4096)

_llseek(4, 200704, SEEK_SET) - Hello, that's different!
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Eight.  Danny, I'm coming!
read(4, buf, 4096)

_llseek(4, 741376, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Nine.  It rubs the lotion on its skin.  It does this 
whenever it is told.
read(4, buf, 4096)

_llseek(4, 200704, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Ten.  Why so serious?
read(4, buf, 4096)

_lseek(4, 741376, SEEK_SET) - Weren't we just here a few lines above?
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Eleven.  Ours goes to eleven!
read(4, buf, 4096)

__lseek(4, 204800, SEEK_SET)
read(4, buf, 4096)

_llseek(4, 0, SEEK_SET) - Twelve.
read(4, buf, 4096)

_lseek(4, 741376, SEEK_SET) - And now we're back *here* for the third time.
read(4, buf, 4096)


There are a total of 320 seeks back to 0 and re-reads of the first 4K
of the PDF file.  That is, in case my preceding comments didn't make it
clear, quite insane.

However, hopefully all these completely unnecessary system calls will at least
provide a place to stick a code breakpoint to figure out what's causing that
error message.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to