warum gibt lualatex bei derselben Latex-Datei die Fehlermeldung „Zu viele geöffnete Dateien“ aus, pdflatex jedoch nicht?

warum gibt lualatex bei derselben Latex-Datei die Fehlermeldung „Zu viele geöffnete Dateien“ aus, pdflatex jedoch nicht?

TL 2015 unter Linux verwenden.

Ich habe eine Latex-Datei, die Grafiken enthält, alle im PDF-Format. Alle Bilder werden mit dem Aufruf eingefügt

\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{rules/file_name}

Es gibt insgesamt 1860 solcher Bilder, alle im PDF-Format.

Wenn ich diese Datei mit lualatex kompiliere, tritt irgendwann beim Bild Nummer 1016 der Fehler auf Too many open files. Das Kompilieren derselben Datei mit pdflatex führt zu keinem Fehler!

Gibt es eine Einschränkung, wie viele Bilder man in eine Latex-Datei einbinden kann, wenn man lualatex verwendet, oder ist das ein Fehler? Es sieht so aus, als ob die Includegraphics-Version von lualatex die Datei-Handles nicht schließt, wenn Bilder geladen werden und die Datei-Handles ausgehen. Dies ist unter Linux Mint 7.2 der Fall.

Da die Datei groß ist, habe ich die Datei und die Bilder, die sie lädt, \includegraphicsin einer Zip-Datei (80 MB) zusammengefasst. Der Link befindet sich am Ende dieses Beitrags.

Um es zu reproduzieren, laden Sie bitte die Zip-Datei herunter, entpacken Sie sie mit dem Befehl unzip file.zipund es wird ein neuer Ordner mit dem Namen erstellt lualatex_error/und in diesem Ordner befinden sich die eine Datei report.texund der Ordner, der alle Bilder enthält. Geben Sie dann ein

lualatex report.tex

gibt den Fehler

 lualatex: ./rules/1016.pdf: Too many open files

Von demreport.log

This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238) 
    (format=lualatex 2015.7.9)  31 JUL 2015 12:28
 restricted \write18 enabled.

lualatex_error>which lualatex
/usr/local/texlive/2015/bin/x86_64-linux/lualatex

Die Zip-Datei befindet sich indieser Ordner(Dies ist ein Link zu dem Ordner, in dem sich die ZIP-Datei befindet. Kein direkter Link zur ZIP-Datei.) 80 MB Größe.

Wenn ich Ihnen weitere Informationen geben kann, lassen Sie es mich bitte wissen.

Antwort1

Ich kann dieses Verhalten bestätigen. Zum Testen:

Erstellen Sie 1860 Kopien von example-image-1x1.pdf(oder einem anderen Bild Ihrer Wahl) mit den Namen 1.pdf, 2.pdf,..., 1860.pdf. Wenn Sie bashTeX Live 2015 am Standardspeicherort installiert haben, können Sie die folgenden Befehle verwenden:

i=0; while [ $i -le 1860 ] ; do ((i++)); cp /usr/local/texlive/current/texmf-dist/tex/latex/mwe/example-image-1x1.pdf ./$i.pdf; done

Erstellen Sie dann folgendes Dokument:

\documentclass{article}
\usepackage{graphicx}
\usepackage{expl3,xparse}
\ExplSyntaxOn
\int_new:N \l_nasser_loop_int
\tl_new:N \l_nasser_file_tl
\NewDocumentCommand \icing { }
{
  \int_set:Nn \l_nasser_loop_int { 0 }
  \int_do_while:nNnn { \l_nasser_loop_int } < { 1860 }
  {
    \int_incr:N \l_nasser_loop_int
    \tl_set:Nn \l_nasser_file_tl { \int_use:N \l_nasser_loop_int }
    \includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{\l_nasser_file_tl}\par
  }
}
\ExplSyntaxOff
\begin{document}
\icing
\end{document}

Mit wird dies problemlos kompiliert pdflatex. Mit lualatexschlägt dies mit dem folgenden Fehler fehl:

lualatex: ./1024.pdf: Too many open files

Ich werde darauf verzichten, die Ergebnisse zu veröffentlichen pdflatex: Sie müssen mir entweder glauben oder das oben beschriebene Verfahren befolgen.

verwandte Informationen