On Fri, Dec 1, 2017 at 1:49 PM, Knut Petersen <[email protected]> wrote: > Hi everybody! > > Assume that the files testa.pdf, testb.pdf and testc.pdf exist. > > Further assume there is a file mwe.tex: > > \NeedsTeXFormat{LaTeX2e} > \documentclass[12pt]{letter} > \usepackage{shellesc,graphicx} > \begin{document} > \includegraphics{testa.pdf}\newpage > \includegraphics{testb.pdf}\newpage > \includegraphics{testc.pdf}\newpage > \immediate\write18{ lsof | grep latex | grep test | less -S } > \end{document} > > If (on a linux system) you execute > > lualatex --shell-escape mwe > > > and > > xelatex --shell-escape mwe > > you see a difference: the included pdf files are open if you use > lualatex, they are _not_open_ when xelatex is used. > > That difference is not a problem if you want to include only a few > files, but it is a problem if you want to include a few thousands > of pdfs - on most sytems there is a limit of about 1024 open files. > > That limit can be raised, but at least in my case that does > not really help: using write18 to start a program when many file > descriptors are open might expose a bug in the c++ library if "many" > is "more than 1023". If that child uses execve() to start another child, > that execve fails with a "*** buffer overflow detected ***" message. > > Is this is a problem of luatex? I don't know, but I think it is. > > Keeping all files that are included by \includegraphics open is a > wasteful use of limited system resources (file descriptors) , and xetex > demonstrates that it is not necessary. > > BTW: In my tests xelatex fails to include more than 5005 pdfs correctly. > Pdfs 5005+ are read, white space is reserved, but the actual content of > the included pdfs is missing. Nothing unusual is written to the log. > > System used: > > Linux, 64bit (i4790K, 32GB) > OpenSuSE Tumbleweed > LuaTeX, Version 1.0.4 (TeX Live 2017/TeX Live for SUSE Linux) > XeTeX 3.14159265-2.6-0.99998 (TeX Live 2017/TeX Live for SUSE Linux) > > > Knut > Thank you for the report, we are testing.
-- luigi
