[NTG-pdftex] [ pdftex-Bugs-824 ] Bus error caused by loading an image into a format file

noreply at sarovar.org noreply at sarovar.org
Tue Jun 26 23:01:25 CEST 2007


Bugs item #824, was opened at 2007-06-26 00:22
You can respond by visiting: 
http://sarovar.org/tracker/?func=detail&atid=493&aid=824&group_id=106

Category: Image inclusion
Group: v1.40.3
Status: Open
Resolution: Accepted
Priority: 5
Submitted By: Robin Houston (robinhouston)
Assigned to: Martin Schröder (oneiros)
Summary: Bus error caused by loading an image into a format file

Initial Comment:
I have written a tool that speeds up repeated
compilation of a source file, by generating a format
from the preamble of the document, and then using it to
compile the body.

One user reported a crash when using this tool with a
custom letterhead class; the class in question may be
found at
http://www.soe.ucsc.edu/~elm/LaTeX/ucletter.cls (though
note that a simpler demonstration is attached to this
report).

The bug is triggered by the fact that this class loads
an image during the processing of the preamble (i.e.
during the processing of the .ini file) and saves it in
a box. When this box is used, during the compilation of
the body, pdftex crashes.

This does work with ordinary (non-PDF) TeX, so the
problem is specific to PDFTeX.

The attachment contains a simple demonstration of the
problem. Unpack it and run 'make'.


----------------------------------------------------------------------

>Comment By: Martin Schröder (oneiros)
Date: 2007-06-26 23:01

Message:
Logged In: YES 
user_id=421

Sorry, pdf things work different then dvi, so we can not
make \pdfximage etc. in ini mode without a lot of work; we
will probably disable a bunch of primitives.

----------------------------------------------------------------------

Comment By: Robin Houston (robinhouston)
Date: 2007-06-26 15:49

Message:
Logged In: YES 
user_id=4579

Simplifying the example by eliminating the graphics package:

==> foo.ini <==
\documentclass{minimal}

\newbox\picbox
\pdfximage{pic.pdf}
\setbox\picbox\hbox{\pdfrefximage\pdflastximage}

\dump

==> foo.tex <==
\begin{document}
        \box\picbox
\end{document}


Also, I see now that my comparison with dvi-mode is indeed a
false one, because the mechanisms are quite different, and
the DVI graphics driver only has to include a \special,
rather than the graphic itself.

A simple solution, I suppose, would be to make \pdfrefximage
(and, presumably, the other \pdfrefx commands) invalid in
IniTeX mode. Perhaps this is too brutal, since it forbids
certain harmless activities such as finding the dimensions
of an image from an .ini file; and of course I would be
delighted if it were made to work instead.


----------------------------------------------------------------------

Comment By: Reinhard Kotucha (reinhard)
Date: 2007-06-26 01:26

Message:
Logged In: YES 
user_id=4195

Martin,
you probably can't do everything in a format file.  However,
it would be nice to be able to put graphics to a format file
at least.  Suppose that a web server has to generate PDF
files on-the-fly, each contains a company logo.  The best
place place for the logo is the format file if speed
matters.  It would be nice if there are no restrictions.

Regards,
  Reinhard



----------------------------------------------------------------------

Comment By: Robin Houston (robinhouston)
Date: 2007-06-26 00:42

Message:
Logged In: YES 
user_id=4579

I'm impressed by the speed of your response! Thanks.

If you replace the PDF image by an EPS file, and use
-output-format dvi, then it does work. That suggests to me
that the problem is not fundamentally caused by a limitation
of IniTeX. But I don't know enough about the inner workings
of the \includegraphics command to be sure about that.
(Perhaps PDF graphics are handled in a sufficiently
different way for this to be a false comparison?)

In any case, as you say, it shouldn't crash!

----------------------------------------------------------------------

Comment By: Martin Schröder (oneiros)
Date: 2007-06-26 00:30

Message:
Logged In: YES 
user_id=421

I can reproduce it, and it obviously shouldn't crash, but
I'm really not shure if it's supposed to work, as the format
of course will not save the picture. You can't do everything
in IniTeX...

----------------------------------------------------------------------

You can respond by visiting: 
http://sarovar.org/tracker/?func=detail&atid=493&aid=824&group_id=106


More information about the ntg-pdftex mailing list