Subject: bug#48064: texlive-* packages fail to build non-deterministically

From: Thiago Jung Bauermann <[email-masked]>
Date: Tue, 08 Jun 2021 21:28:25 -0300

Hello,

I was able to do a build of texlive-amscls with `export MALLOC_CHECK_=2`, 
and a core dump was generated. I managed to get a guix environment with 
debuginfo for texlive-bin, but for some reason it still doesn’t have 
debug info for glibc available. FYI, this was the command line I used:

$ guix environment texlive-amscls --with-debug-info=texlive-bin \
	--ad-hoc valgrind gdb glibc:debug

Valgrind isn’t working because of the lack of glibc debug info, but I was 
able to get the backtrace below from the core file, using GDB. I am yet to
analyse it and see if it provides any clue:

Core was generated by `luatex amsclass.ins'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f50ad3d5a7a in raise () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
(gdb) backtrace
#0  0x00007f50ad3d5a7a in raise () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
#1  0x00007f50ad3c0523 in abort () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
#2  0x00007f50ad415d28 in ?? () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
#3  0x00007f50ad41d54a in ?? () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
#4  0x00007f50ad421bd7 in ?? () from /gnu/store/vp1q2ymbfzr52zxqs5z3r3nd0yprbg7h-glibc-2.33/lib/libc.so.6
#5  0x0000000000486c7e in my_luaalloc (ud=<optimized out>, ptr=<optimized out>, osize=1104, nsize=<optimized out>)
    at ../../../texlive-20190410-source/texk/web2c/luatexdir/lua/luastuff.c:115
#6  0x00007f50ad754b81 in luaM_realloc_ (L=L@entry=0x12212a8, block=block@entry=0x1316cc0,
    osize=osize@entry=1104, nsize=nsize@entry=2208)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lmem.c:86
#7  0x00007f50ad74d8b3 in luaD_reallocstack (L=0x12212a8, newsize=138)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:182
#8  0x00007f50ad74e121 in luaD_precall (L=L@entry=0x12212a8, func=<optimized out>, nresults=0)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:424
#9  0x00007f50ad74e393 in luaD_precall (nresults=<optimized out>, func=<optimized out>, L=0x12212a8)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:413
#10 luaD_call (L=L@entry=0x12212a8, func=<optimized out>, nResults=<optimized out>)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:498
#11 0x00007f50ad74e3f1 in luaD_callnoyield (L=0x12212a8, func=<optimized out>, nResults=<optimized out>)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:509
#12 0x00007f50ad74d83f in luaD_rawrunprotected (L=L@entry=0x12212a8, f=f@entry=0x7f50ad74f6d0 <dothecall>,
    ud=ud@entry=0x0) at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:142
#13 0x00007f50ad74e6fb in luaD_pcall (L=L@entry=0x12212a8, func=func@entry=0x7f50ad74f6d0 <dothecall>,
    u=u@entry=0x0, old_top=1200, ef=ef@entry=0)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/ldo.c:729
#14 0x00007f50ad74f5dd in GCTM (L=L@entry=0x12212a8, propagateerrors=propagateerrors@entry=0)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lgc.c:823
#15 0x00007f50ad750eca in callallpendingfinalizers (L=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lgc.c:862
#16 luaC_freeallobjects (L=L@entry=0x12212a8)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lgc.c:971
#17 0x00007f50ad75a93e in close_state (L=0x12212a8)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lstate.c:245
#18 0x00007f50ad75ae20 in lua_close (L=<optimized out>)
    at ../../../texlive-20190410-source/libs/lua53/lua53-src/src/lstate.c:344
#19 0x00000000004999a6 in do_final_end ()
    at ../../../texlive-20190410-source/texk/web2c/luatexdir/tex/errors.c:257
#20 0x000000000044ea9e in main (ac=<optimized out>, av=<optimized out>)
    at ../../../texlive-20190410-source/texk/web2c/luatexdir/luatex.c:609
(gdb)
-- 
Thanks,
Thiago