Bug 1841056 - Doxygen produce latex that makes pdflatex run out of memory
Summary: Doxygen produce latex that makes pdflatex run out of memory
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: doxygen
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Than Ngo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-28 09:03 UTC by Jonathan Wakely
Modified: 2023-12-05 20:59 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2023-12-05 20:59:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Diff of the latex generated by doxygen-1.8.14 and 1.8.15 (10.77 MB, text/plain)
2020-05-28 09:06 UTC, Jonathan Wakely
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github doxygen doxygen issues 8049 0 None open Doxygen produce latex that makes pdflatex run out of memory 2023-04-26 09:28:19 UTC

Description Jonathan Wakely 2020-05-28 09:03:33 UTC
Description of problem:

Latex output of Doxygen causes pdflatex to run out of memory.


Version-Release number of selected component (if applicable):

doxygen-1.8.15-10.fc31.x86_64

How reproducible:

Always


Steps to Reproduce:


sudo dnf install git doxygen graphviz dblatex texlive-latex texlive-makeindex
git clone --depth=1 git:gcc-mirror/gcc.git
mkdir build
cd build
../gcc/configure --enable-languages=c,c++ --disable-gcc --disable-lib{atomic,cc1,gcc,cpp,ffi,gomp,itm,sanitizer,ssp,vtv}
eval `grep '^target=' config.log`
make configure-target
make -C $target/libstdc++-v3 doc-pdf-doxygen



Actual results:


pdflatex fails and the log file shows:

Runaway text?
\@ifundefined {etoctocstyle}{\let \etoc@startlocaltoc \@gobble \let \etoc@setto
cdepth \ETC.
! TeX capacity exceeded, sorry [main memory size=5000000].
<inserted text> ...6.2.28}\contentsline {para\ETC.

l.139 \begin{document}
                      ^^M
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:
 16738 strings out of 494553
 238522 string characters out of 6177319
 5000001 words of memory out of 5000000
 20192 multiletter control sequences out of 15000+600000
 6245 words of font info for 17 fonts, out of 8000000 for 9000
 14 hyphenation exceptions out of 8191
 53i,1n,92p,7517b,98s stack positions out of 5000i,500n,10000p,200000b,80000s
!  ==> Fatal error occurred, no output PDF file produced!



Expected results:

PDF file is produced.


Additional info:


This works fine on Fedora 29, and also works fine if I build and install the doxygen-1.8.14-7.fc29.src.rpm on F31. So to seems to be a regression in doxygen 1.8.15

Comment 1 Jonathan Wakely 2020-05-28 09:06:52 UTC
Created attachment 1692985 [details]
Diff of the latex generated by doxygen-1.8.14 and 1.8.15

Comment 2 Jonathan Wakely 2020-05-28 12:32:27 UTC
pdflatex also fails if I build rawhide's doxygen-1.8.18-1 for F31 and use that to generate the latex.

Comment 3 Jonathan Wakely 2020-05-29 19:37:47 UTC
Please let me know if there's any more info I can provide. Sorry I don't have a simpler way to reproduce it, but I didn't know where to start looking. The best I could do is verify that it works with 1.8.14 (without changing any other packages on my F31 machines) and fails with 1.8.15

Comment 4 Than Ngo 2020-06-17 15:03:52 UTC
could you please create the tarball from  $target/libstdc++-v3/doc and send it to me please?

I tried your above steps, but it breaks by "make configure-target" with the error "make: *** No rule to make target 'configure-target'.  Stop."

Comment 5 Jonathan Wakely 2020-06-17 16:57:24 UTC
I've just tested the steps again myself, and they work. I assume the ../gcc/configure step failed for you, and didn't create a makefile.

You're probably missing some prerequisites. This might work better:

wget ftp://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.xz
tar xf gcc-10.1.0.tar.xz
cd gcc-10.1.0
./contrib/download_prerequisites --no-isl
mkdir ../build
cd ../build
../gcc-10.1.0/configure --enable-languages=c,c++ --disable-gcc --disable-lib{atomic,cc1,gcc,cpp,ffi,gomp,itm,sanitizer,ssp,vtv}
eval `grep '^target=' config.log`
make configure-target
make -C $target/libstdc++-v3 doc-pdf-doxygen

I'll send you the tarball anyway...

Comment 6 Than Ngo 2020-06-23 06:51:32 UTC
please use the lualatex which dynamically allocate more memory if it needs it as workaround before we have correct fix for this issue.

diff -up gcc-10.1.0/libstdc++-v3/doc/doxygen/user.cfg.in.me gcc-10.1.0/libstdc++-v3/doc/doxygen/user.cfg.in
--- gcc-10.1.0/libstdc++-v3/doc/doxygen/user.cfg.in.me  2020-06-22 14:42:45.820317822 +0200
+++ gcc-10.1.0/libstdc++-v3/doc/doxygen/user.cfg.in     2020-06-22 14:43:16.747760366 +0200
@@ -1836,7 +1836,7 @@ LATEX_OUTPUT           = latex
 # The default file is: latex.
 # This tag requires that the tag GENERATE_LATEX is set to YES.
 
-LATEX_CMD_NAME         =
+LATEX_CMD_NAME         = lualatex
 
 # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
 # index for LaTeX.

Thanks

Comment 7 Jonathan Wakely 2020-06-23 11:53:23 UTC
That works, thanks! Tested on F32.

Comment 8 Ben Cotton 2020-11-03 16:42:47 UTC
This message is a reminder that Fedora 31 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '31'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 31 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Jonathan Wakely 2020-11-04 14:02:28 UTC
The issue is still present in doxygen-1.8.20-4.fc32.x86_64

Comment 10 Fedora Program Management 2021-04-29 16:28:29 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 11 Ben Cotton 2021-05-25 16:21:41 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 12 Jonathan Wakely 2023-04-26 09:22:03 UTC
Still a problem in f37, so reopening.

Using lualatex just runs at 100% CPU forever.

Comment 13 Aoife Moloney 2023-11-23 00:03:21 UTC
This message is a reminder that Fedora Linux 37 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 37 on 2023-12-05.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '37'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 37 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 14 Aoife Moloney 2023-12-05 20:59:29 UTC
Fedora Linux 37 entered end-of-life (EOL) status on None.

Fedora Linux 37 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.