LINUX.ORG.RU

Похоже на баг в pdflatex.


0

0

Привет!
Заметил серьезную ошибку в работе pdflatex'а.
Свел огромный tex-файл к маленькому примеру, который приводится ниже.

develop2 ttt # cat bad_tex_template.tex
\documentclass{article}
\usepackage{longtable}

\begin{document}

\begin{longtable}{r}
\multicolumn{1}{l}{}}\\ % Syntax error at this line.
\hline
\end{longtable}

\end{document}
develop2 ttt # pdflatex  bad_tex_template.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./bad_tex_template.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, bulgarian, greek, monogreek, ancientgreek, ibycus, russian, ukraini
an, loaded.
(/usr/share/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texmf-dist/tex/latex/tools/longtable.sty) (./bad_tex_template.aux)
! Missing \cr inserted.
<inserted text> 
                \cr 
l.7 \multicolumn{1}{l}{}}
                         \\ % Syntax error at this line.
? x
No pages of output.
Transcript written on bad_tex_template.log.
develop2 ttt # 

Здесь все понятно.

А теперь запускаем в batchmode:

develop2 ttt # pdflatex --interaction batchmode bad_tex_template.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode

и замечаем что pdflatex зависает!

При этом в top'е:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                        
15369 root      20   0 25500 5044  860 R  100  0.2   0:38.76 pdflatex

то есть pdflatex жрет 100% CPU.

Далее смотрим что он делает через strace:

develop2 Temp # strace -fF -p 15369
Process 15369 attached - interrupt to quit

и обнаруживаем, что он ничего не делает.
То есть нет системных вызовов и следовательно ввода-вывода.
Думаю понятно что происходит :)


Проверял на x86 и amd64 системах.
Использую TeXLive.
Версия pdflatex'а была в выводе выше.

Проверьте pls этот простой примерчик.
На каком-нибудь pdflatex'е он работает?

Спасибо!

P.S.
Если вместо longtable использовать tabular, то 
все работает правильно.

У тебя есть всё, чтобы продолжить отладку, а ты зачем-то обращаешься к другим с просьбой попробовать. Пробовать теперь надо на свежем CVS-срезе pdflatex. В общем, по-хорошему - или продолжай сам, если это важно, или закинь письмо про баг _разработчикам_.

anonymous
()
Ответ на: комментарий от anonymous

Тем более, что если это баг в самом TeX (что маловероятно, правда), то еще и денег за него дадут.

anonymous
()

с batchmode без halt-on-error такое же поведение,
а вот так вроде работает (последний texlive):

% pdflatex -interaction=nonstopmode -halt-on-error bad.tex
This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
 %&-line parsing enabled.
entering extended mode
(./bad.tex
LaTeX2e <2005/12/01>
Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, german-x-2008-06-18, ngerman-x-2008-06-18, ancientgreek, ibycus, ar
abic, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutc
h, esperanto, estonian, farsi, finnish, french, galician, german, ngerman, mono
greek, greek, hungarian, icelandic, indonesian, interlingua, irish, italian, la
tin, mongolian, mongolian2a, bokmal, nynorsk, polish, portuguese, romanian, rus
sian, sanskrit, serbian, slovak, slovenian, spanish, swedish, turkish, ukenglis
h, ukrainian, uppersorbian, welsh, loaded.
(/opt/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/opt/texlive/texmf-dist/tex/latex/base/size10.clo))
(/opt/texlive/texmf-dist/tex/latex/tools/longtable.sty) (./bad.aux)
! Missing \cr inserted.
<inserted text> 
                \cr 
l.7 \multicolumn{1}{l}{}}
                         \\ % Syntax error at this line.
!  ==> Fatal error occurred, no output PDF file produced!
Transcript written on bad.log.

anonymous
()

> \multicolumn{1}{l}{}}\\ % Syntax error at this line.

Ну и правильно, надо экранировать:

\multicolumn{1}{l}{\}}

Не?

ip1981 ☆☆
()
Ответ на: комментарий от ip1981

Ты не понял, ошибка там специально.

Можешь повесить табличку "я не читаю треды, прежде чем писать в них".

random_code ★★
()

Аналогичное поведение на

pdfTeX 3.14159216-1.40.9-2.2 (Web2C 7.5.7)

kpathsea version 3.5.7

anonymous
()

И опять точно такое же поведение на

$ cat a.tex
\documentclass{article}
\usepackage{longtable}

\begin{document}

\begin{longtable}{r}
\multicolumn{1}{l}{}}\\ % Syntax error at this line.
\hline
\end{longtable}

\end{document}
]$ pdflatex --interaction batchmode a.tex
This is pdfTeX, Version 3.14159-1.10b (Web2C 7.4.5)
! Interruption.
<to be read again>
                   \vskip
l.9 \end
        {longtable}
?
! Emergency stop.
<to be read again>
                   \vskip
l.9 \end
        {longtable}
No pages of output.
Transcript written on a.log.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.