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