Bug#1118385: Non-reproducibility in pdfTeX
John Collins <[email protected]> Tue, 12 May 2026 19:49:13 -0400
| Newsgroups | gmane.linux.debian.devel.tetex |
|---|---|
| Message-ID | <f0da2b6a-4967-4740-ad08-a90568ae315d__22541.1668465071$1778629892$gmane$org@psu.edu> |
On 5/12/26 5:38 PM, Karl Berry wrote:
>
> Sounds reasonable.
>
> would like to have clarified in the first step if the characters which
> differ are generated by code in the pdfTeX binary, or if we have to
> blame one of the libraries pdfTeX is linked with.
>
> I don't have the brain to be able to look at that hex dump and have any
> real clue as to where it came from. It could be part of a png image with
> those "unspecified" bytes as mentioned in the bug report (/FlateDecode
> .. stream ...). Or maybe it's not. I don't know.
1. I found it easier to understand the change by using a line-by-line
difference. With Hilmar's example files, the command line
diff -sca refman_1.pdf refman_2.pdf
gave
*** refman_1.pdf Mon May 11 18:40:01 2026
--- refman_2.pdf Mon May 11 18:40:05 2026
***************
*** 84287,84293 ****
/W [1 3 1]
/Root 111760 0 R
/Info 111761 0 R
! /ID [<BAC5ECC86743A24DB489859FD6D0C0AF> <BAC5ECC86743A24DB489859FD6D0C0AF>]
/Length 260088
/Filter /FlateDecode
>>
--- 84287,84293 ----
/W [1 3 1]
/Root 111760 0 R
/Info 111761 0 R
! /ID [<BA7ACF0ECED2C16FCB4BF449BF00000B> <BA7ACF0ECED2C16FCB4BF449BF00000B>]
/Length 260088
/Filter /FlateDecode
>>
The difference is solely in the /ID line whose contents form a file identifier
(according the the pdf standard).
2. I don't think this has anything to do with libpng, since I was able to
reproduce the same problem on a trivial file, hello.tex, without included graphics:
\documentclass{article}
\begin{document}
Hello
\end{document}
I used the following script to test whether the pdf file changes on successive
compilations:
for i in 1 2; do
pdflatex -interaction=batchmode
"\pdfinfo{/CreationDate(D:20260429034606Z)/ModDate(D:20260429034606Z)}\input{hello.tex}"
mv hello.pdf hello${i}.pdf
sleep 1
done
diff -sca hello1.pdf hello2.pdf
The result was differences that were of the same form as for Hilmar's example.
BUT: If I commented out the sleep 1 line, most of the time diff reports
identical times. (This is all on TeXLive 2026 on macOS.)
I infer that the contents of the /ID line are obtained from some value of a
relevant time to a resolution perhaps of 1 sec. The definition of "File
Identifiers" in the PDF standard indicates that the relevant time is the
current time. This behavior is not impacted by the setting of the dates/times
in the \pdfinfo command.
Best,
John Collins
hello.tex
(application/x-tex, 62 B) - not displayed