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