#728069 doxygen-latex generates invalid tables

#728069#5
Date:
2013-07-15 15:04:15 UTC
From:
To:
Source: libcaca
Version: 0.99.beta18-1
Severity: serious

From my pbuilder build log:

...
finalizing index lists...
lookup cache used 759/65536 hits=5998 misses=769
finished...
touch stamp-doxygen
rm -f latex/libcaca.tex latex/libcaca.pdf
mv latex/refman.tex latex/libcaca.tex
sed 's/setlength{/renewcommand{/' latex/libcaca.tex \
  | sed 's/.*usepackage.*times.*//' > latex/refman.tex
cd latex && /usr/bin/make  refman.pdf || (cat refman.log; exit 1)
make[4]: Entering directory `/tmp/buildd/libcaca-0.99.beta18/doc/latex'
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
pdflatex refman
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
 restricted \write18 enabled.
entering extended mode
(./refman.tex
LaTeX2e <2011/06/27>
Babel <3.9f> and hyphenation patterns for 2 languages loaded.

make[4]: *** [refman.pdf] Error 1
make[4]: Leaving directory `/tmp/buildd/libcaca-0.99.beta18/doc/latex'
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2013.7.13)  13 JUL 2013 13:11
entering extended mode
 restricted \write18 enabled.
 %&-line parsing enabled.
**refman
(./refman.tex
LaTeX2e <2011/06/27>
Babel <3.9f> and hyphenation patterns for 2 languages loaded.

(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
\c@section=\count80
\c@subsection=\count81
...
\c@section@level=\count131
)
LaTeX Info: Redefining \ref on input line 109.
LaTeX Info: Redefining \pageref on input line 109.
LaTeX Info: Redefining \nameref on input line 109.
\@outlinefile=\write4
\openout4 = `refman.out'.

Package hyperref Info: Option `pageanchor' set `false' on input line 112.
! Missing number, treated as zero.
<to be read again>
                   \let
l.116 \begin{center}
                    %
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Illegal unit of measure (pt inserted).
<to be read again>
                   \let
l.116 \begin{center}
                    %
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.116 \begin{center}
                    %
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.116 \begin{center}
                    %
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.


! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.116 \begin{center}
                    %
Try typing  <return>  to proceed.
If that doesn't work, type  X <return>  to quit.

LaTeX Font Info:    Font shape `T1/phv/m/n' will be
(Font)              scaled to size 12.9599pt on input line 117.

! LaTeX Error: Something's wrong--perhaps a missing \item.

...
! Missing number, treated as zero.
<to be read again>
                   \everypar
l.9 \-
      \_\-\-\_\-extern char const $\ast$const $\ast$ \hyperlink{group__caca_...
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Missing number, treated as zero.
<to be read again>
                   \protect
l.9 \-
      \_\-\-\_\-extern char const $\ast$const $\ast$ \hyperlink{group__caca_...
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Illegal unit of measure (pt inserted).
<to be read again>
                   \protect
l.9 \-
      \_\-\-\_\-extern char const $\ast$const $\ast$ \hyperlink{group__caca_...
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)


Overfull \hbox (11.38092pt too wide) has occurred while \output is active
[]
 []
[482338
! TeX capacity exceeded, sorry [number of strings=495031].
\AtBegShi@Output ...ipout \box \AtBeginShipoutBox
                                                  \fi \fi
l.9 \-
      \_\-\-\_\-extern char const $\ast$const $\ast$ \hyperlink{group__caca_...
If you really absolutely need more capacity,
you can ask a wizard to enlarge me.


Here is how much of TeX's memory you used:
 495031 strings out of 495031
 5377258 string characters out of 6181531
 261906 words of memory out of 5000000
 15209 multiletter control sequences out of 15000+600000
 69570 words of font info for 99 fonts, out of 8000000 for 9000
 14 hyphenation exceptions out of 8191
 48i,13n,43p,988b,503s stack positions out of 5000i,500n,10000p,200000b,80000s
!  ==> Fatal error occurred, no output PDF file produced!
make[3]: *** [stamp-latex] Error 1
make[3]: Leaving directory `/tmp/buildd/libcaca-0.99.beta18/doc'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/buildd/libcaca-0.99.beta18'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/buildd/libcaca-0.99.beta18'
make: *** [build-arch-stamp] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2

#728069#24
Date:
2013-10-30 23:08:47 UTC
From:
To:
severity 728069 important
thanks

Hi,

It would be nice to handle this bug with an even higher priority since
it makes libcaca FTBS thus it causes an RC bug for libcaca.
I did not want to keep the severity when cloning since for doxygen it
is not an RC bug.

Thanks,
Balint

#728069#31
Date:
2013-10-31 21:49:47 UTC
From:
To:
--- Please enter the report below this line. ---

Point 14 of the doxygen FAQ (see
http://www.stack.nl/~dimitri/doxygen/manual/faq.html) states:

14. When running make in the latex dir I get "TeX capacity exceeded".
Now what?
You can edit the texmf.cfg file to increase the default values of the
various buffers and then run "texconfig init".

In your case, you're exhausting strings. and the configuration file has
a max_strings item set to 500000. The value 495031 you get is after some
strings were used by TeX itself.

Debian Release: 7.2
  500 stable-updates  mi.mirror.garr.it
  500 stable          security.debian.org
  500 stable          mi.mirror.garr.it
--- Package information. ---
Depends            (Version) | Installed
============================-+-==============
libc6          (>= 2.3.6-6~) | 2.13-38
libgcc1         (>= 1:4.1.1) | 1:4.7.2-5
libstdc++6        (>= 4.1.1) | 4.7.2-5


Recommends         (Version) | Installed
============================-+-===========
doxygen-latex                | 1.8.1.2-2


Suggests         (Version) | Installed
==========================-+-===========
doxygen-doc                | 1.8.1.2-2
doxygen-gui                | 1.8.1.2-2
graphviz                   | 2.26.3-14

#728069#36
Date:
2013-10-31 23:16:16 UTC
From:
To:
Hi Paolo,

2013/10/31 Paolo Greppi <paolo.greppi@libpf.com>:
In the reported case I suspect exceeding the capacity is not the cause
of the problem, but rather a result of an infinite loop due to errors.
To debug the problem I set batch mode off in doc/doxygen.cfg.in:
LATEX_BATCHMODE        = NO

This resulted in a very different error:
...
LaTeX Info: Redefining \ref on input line 108.
LaTeX Info: Redefining \pageref on input line 108.
LaTeX Info: Redefining \nameref on input line 108.
\@outlinefile=\write4
\openout4 = `refman.out'.

Package hyperref Info: Option `pageanchor' set `false' on input line 111.

! Missing number, treated as zero.
<to be read again>
                   \let
l.115 \begin{center}
                    %
?
! Emergency stop.
<to be read again>
                   \let
l.115 \begin{center}
                    %
End of file on the terminal!


Here is how much of TeX's memory you used:
 11853 strings out of 495031
 163192 string characters out of 6181530
 239906 words of memory out of 5000000
 14936 multiletter control sequences out of 15000+600000
 6139 words of font info for 16 fonts, out of 8000000 for 9000
 14 hyphenation exceptions out of 8191
 48i,0n,43p,236b,98s stack positions out of 5000i,500n,10000p,200000b,80000s
!  ==> Fatal error occurred, no output PDF file produced!

I think this error is created by Doxygen, not by libcaca because this
is at the very beginning of the Latex documentation.

Moreover the libcaca package rebuilds fine on Wheezy, so I think the
changes in the way Doxygen generates the Latex documentation caused
this regression.

Cheers,
Balint

#728069#41
Date:
2014-02-08 13:57:54 UTC
From:
To:
reassign 728069 texlive-latex-base 2013.20140123-1
retitle 728069 pdflatex exits with non-zero status for no apparent reason
affects doxygen
thank

Hi Paolo,

2013-11-01 Bálint Réczey <balint@balintreczey.hu>:
I have debugged the issue further and found two problems.
One was processing refman.tex before running pdflatex and I have fixed
it in libcaca.
The other issue was pdflatex not exiting with zero which makes the pdf
generation fail
in the Makefile Doxygen generated for creating refman.pdf.
I worked around the second issue in libcaca and I hereby reassign this
bug to texlive-latex-base.


The second issue can be observed here:
https://buildd.debian.org/status/fetch.php?pkg=libcaca&arch=i386&ver=0.99.beta18-1.1&stamp=1391865359
...
rm -f latex/libcaca.tex latex/libcaca.pdf
(cd latex &&  pdflatex refman ; makeindex refman.idx ; pdflatex refman
; pdflatex refman ; pdflatex refman ; pdflatex refman ; pdflatex
refman; echo "pdflatex exit code: $?")
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
 restricted \write18 enabled.
entering extended mode
(./refman.tex
LaTeX2e <2011/06/27>
Babel <3.9h> and hyphenation patterns for 2 languages loaded.

This is makeindex, version 2.15 [TeX Live 2013] (kpathsea + Thai support).
Scanning input file refman.idx....done (551 entries accepted, 2 rejected).
Sorting entries.......done (5274 comparisons).
Generating output file refman.ind....done (1087 lines written, 0 warnings).
Output written in refman.ind.
Transcript written in refman.ilg.
...
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian)
 restricted \write18 enabled.
entering extended mode
(./refman.tex
LaTeX2e <2011/06/27>
Babel <3.9h> and hyphenation patterns for 2 languages loaded.

pdflatex exit code: 1
mv latex/refman.pdf latex/libcaca.pdf
touch stamp-latex
...

Cheers,
Balint