Subject: texlive-latex-graphics: non-deterministic build failure

From: Chris Marusich <[email-masked]>
Date: Sat, 15 May 2021 14:02:20 -0700

Hi,

On commit 100281dd200d0a59958fb17dc6de75d3913e2b7a, the build for
texlive-latex-graphics sometimes fails and sometimes succeeds.  To
reproduce the issue, just try "guix build texlive-latex-graphics" or
"guix build --check texlive-latex-graphics" a few times.  I used this
cumbersome one-liner to try it a bunch:

while :; do if ./pre-inst-env guix build --cores=1 --check texlive-latex-graphics; then echo SUCCESS; else echo FAIL; fi; done 2>&1 | tee /tmp/out

Then you can summarize the results with another cumbersome one-liner
like this:

cat /tmp/out | grep -e ^FAIL -e ^SUCCESS | sort | uniq -c | awk '{arr[$2] = $1; arr["TOTAL"] += $1} END {for (i in arr) printf("%5d (%6.2f%%): %s\n", arr[i], 100*arr[i]/arr["TOTAL"], i)}'

This failure happens on powerpc64le-linux and x86_64-linux.  It might
happen on other architectures; I didn't test them.  In my testing, it
happened about 18% of the time on powerpc64le-linux, and about 1% of the
time on x86_64-linux.

Here is the error from the powerpc64le-linux case. Except for the store
paths, the error is identical to the x86_64-linux case:

--8<---------------cut here---------------start------------->8---
Generating file(s) dvipdf.def dvipsone.def dviwin.def emtex.def pctexps.def pctex32.def pctexhp.def pctexwin.def truetex.def tcidvi.def dvipsnam.def 

Processing file drivers.dtx (dvipdf,color1,psrulesZ) -> dvipdf.def
                            (tiffrules,dvipsone,color1,dosrules,psrules) -> dvipsone.def
                            (dviwin,nops) -> dviwin.def
                            (emtex,dosrules,nops) -> emtex.def
                            (pctexps,color3,colorfix) -> pctexps.def
                            (pctex32,color1) -> pctex32.def
                            (pctexhp,nops) -> pctexhp.def
                            (pctexwin,nops) -> pctexwin.def
                            (truetex,color4,nops) -> truetex.def
                            (tcidvi,color4,nops) -> tcidvi.def
                            (dvipsnames) -> dvipsnam.def
Lines  processed: 1701
Comments removed: 776
Comments  passed: 9
Codelines passed: 757

)
warning  (pdf backend): no pages of output.
Transcript written on graphics-drivers.log.
realloc(): invalid next size
command "luatex" "-interaction=nonstopmode" "-output-directory=build" "&luatex" "graphics-drivers.ins" failed with signal 6
builder for `/gnu/store/r6xcixwj7y2336lg68clqck74prckzbd-texlive-latex-graphics-51265.drv' failed with exit code 1
build of /gnu/store/r6xcixwj7y2336lg68clqck74prckzbd-texlive-latex-graphics-51265.drv failed
View build log at '/var/log/guix/drvs/r6/xcixwj7y2336lg68clqck74prckzbd-texlive-latex-graphics-51265.drv.bz2'.
guix build: error: build of `/gnu/store/r6xcixwj7y2336lg68clqck74prckzbd-texlive-latex-graphics-51265.drv' failed
FAIL
--8<---------------cut here---------------end--------------->8---

Signal 6 is SIGABRT on these systems; I'm not sure what the failure
means or what might be causing it, but I haven't dug into it much yet.

-- 
Chris