GNU bug report logs - #23611
generating pdf manuals fails with TeX capacity exceeded

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Tue, 24 May 2016 17:39:01 UTC

Severity: normal

Found in version 25.0.94

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 23611 in the body.
You can then email your comments to 23611 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Tue, 24 May 2016 17:39:01 GMT) Full text and rfc822 format available.

Message #3 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: submit <at> debbugs.gnu.org
Subject: generating pdf manuals fails with TeX capacity exceeded
Date: Tue, 24 May 2016 13:38:01 -0400
Package: emacs
Version: 25.0.94

Trying to make the pdf versions of the manuals on RHEL 7.2 fails for
some of them (lispintro, bovine, semantic, srecode, tramp, wisent).
It works if one uses the texinfo.tex from emacs-24. (I have often
wondered if commits like 9c2a1a264cf418 are a good idea during
pretesting.)

The errors are of the form:

This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)

[...]

(./emacs-lisp-intro.toc) (./emacs-lisp-intro.toc
./emacs-lisp-intro.toc:171: TeX capacity exceeded, sorry [input stack size=5000
].
@makevalueexpandable ->@let @value 
                                   = @expandablevalue @catcode `@-=@other @c...

@value ->@begingroup @makevalueexpandable 
                                          @valuexxx 
@makevalueexpandable ->@let @value 
                                   = @expandablevalue @catcode `@-=@other @c...

@value ->@begingroup @makevalueexpandable 
                                          @valuexxx 
@makevalueexpandable ->@let @value 
                                   = @expandablevalue @catcode `@-=@other @c...

@value ->@begingroup @makevalueexpandable 
                                          @valuexxx 
...
l.171 ...unction}{13.1}{@value {COUNT-WORDS}}{145}
                                                  
./emacs-lisp-intro.toc:171:  ==> Fatal error occurred, no output PDF file produ
ced!
Transcript written on emacs-lisp-intro.log.
/usr/bin/texi2dvi: pdfetex exited with bad status, quitting.
make: *** [emacs-lisp-intro.pdf] Error 1




Added indication that bug 23611 blocks19759 Request was from Glenn Morris <rgm <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 24 May 2016 17:40:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Wed, 25 May 2016 16:54:01 GMT) Full text and rfc822 format available.

Message #8 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 23611 <at> debbugs.gnu.org
Subject: Re: bug#23611: generating pdf manuals fails with TeX capacity exceeded
Date: Wed, 25 May 2016 19:53:05 +0300
> From: Glenn Morris <rgm <at> gnu.org>
> Date: Tue, 24 May 2016 13:38:01 -0400
> 
> Package: emacs
> Version: 25.0.94
> 
> Trying to make the pdf versions of the manuals on RHEL 7.2 fails for
> some of them (lispintro, bovine, semantic, srecode, tramp, wisent).
> It works if one uses the texinfo.tex from emacs-24. (I have often
> wondered if commits like 9c2a1a264cf418 are a good idea during
> pretesting.)

Did the previous version of texinfo.tex work for PDF?  If so, would it
work to revert to that previous version on emacs-25?

Thanks.




Reply sent to Paul Eggert <eggert <at> cs.ucla.edu>:
You have taken responsibility. (Wed, 25 May 2016 17:46:02 GMT) Full text and rfc822 format available.

Notification sent to Glenn Morris <rgm <at> gnu.org>:
bug acknowledged by developer. (Wed, 25 May 2016 17:46:02 GMT) Full text and rfc822 format available.

Message #13 received at 23611-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 23611-done <at> debbugs.gnu.org
Subject: Re: bug#23611: generating pdf manuals fails with TeX capacity exceeded
Date: Wed, 25 May 2016 10:45:21 -0700
Reverting to the previous texinfo.tex does fix the bug, so I did that. 
I'll send a bug report to Karl Berry about the texinfo.tex bug.

As I understand it, changes to texinfo.tex are fair game since it's just 
documentation. At this point, though, it may be wise to stop updating 
texinfo.tex from Gnulib unless the update fixes a known bug in the Emacs 
documentation and does not cause problems like this one.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Wed, 25 May 2016 18:10:02 GMT) Full text and rfc822 format available.

Message #16 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: bug-texinfo <at> gnu.org
Cc: 23611 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>
Subject: texinfo.tex 2016-05-07.20: "Tex capacity exceeded" with Emacs manuals
Date: Wed, 25 May 2016 11:08:56 -0700
[Message part 1 (text/plain, inline)]
texinfo.tex version 2016-05-07.20 (the current version in Gnulib) causes 
what appears to be runaway recursion when used to make PDF files for GNU 
Emacs. The Emacs bug report is here:

http://bugs.gnu.org/23611

To reproduce the problem on a Fedora 23 x86-64 machine with build tools 
installed, you can run these shell commands:

git clone git://git.savannah.gnu.org/emacs.git emacs-bug
cd emacs-bug
git checkout 1ee91bf89176251f6e399c8436dca0248cdd6f6b
./autogen.sh all
./configure
make pdf

A build transcript is attached.

The problem goes away if I substitute the previous texinfo.tex version, 
2016-04-14.07.

Are recent and near-future texinfo.tex changes relevant for Emacs 
documentation? If not we should probably just freeze emacs-25 based on 
texinfo.tex 2016-04-14.07, since we're close to a release.
[transcript.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Wed, 25 May 2016 18:49:02 GMT) Full text and rfc822 format available.

Message #19 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 23611 <at> debbugs.gnu.org
Subject: Re: bug#23611: generating pdf manuals fails with TeX capacity exceeded
Date: Wed, 25 May 2016 14:48:43 -0400
Paul Eggert wrote:

> As I understand it, changes to texinfo.tex are fair game since it's
> just documentation.

Surely it is obvious that such a change is not a "documentation change".
It is a (totally opaque, for me at least) change to the mechanism that
generates documentation, which isn't the same thing at all.

>  At this point, though, it may be wise to stop updating texinfo.tex
> from Gnulib unless the update fixes a known bug in the Emacs
> documentation and does not cause problems like this one.

s/this point.*wise to/During pretesting,/




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Wed, 25 May 2016 19:31:02 GMT) Full text and rfc822 format available.

Message #22 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 23611 <at> debbugs.gnu.org, rgm <at> gnu.org, eggert <at> cs.ucla.edu
Subject: Re: bug#23611: generating pdf manuals fails with TeX capacity exceeded
Date: Wed, 25 May 2016 22:30:48 +0300
> From: Paul Eggert <eggert <at> cs.ucla.edu>
> Date: Wed, 25 May 2016 10:45:21 -0700
> Cc: 23611-done <at> debbugs.gnu.org
> 
> Reverting to the previous texinfo.tex does fix the bug, so I did that. 
> I'll send a bug report to Karl Berry about the texinfo.tex bug.

Thanks.

> As I understand it, changes to texinfo.tex are fair game since it's just 
> documentation. At this point, though, it may be wise to stop updating 
> texinfo.tex from Gnulib unless the update fixes a known bug in the Emacs 
> documentation and does not cause problems like this one.

For the release branch, yes, I think this would be a good strategy.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Wed, 25 May 2016 22:52:01 GMT) Full text and rfc822 format available.

Message #25 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 23611 <at> debbugs.gnu.org
Subject: Re: bug#23611: generating pdf manuals fails with TeX capacity exceeded
Date: Wed, 25 May 2016 15:51:16 -0700
On 05/25/2016 11:48 AM, Glenn Morris wrote:
> It is a (totally opaque, for me at least) change to the mechanism that
> generates documentation

Sure, but it affects only documentation, which was (and still is) 
generally fair game for the emacs-25 branch. Equivalence of code and 
data, and all that.

Generally speaking, changes to Gnulib-derived files should follow the 
same rules that we use for changes to other files. For example, I 
stopped copying .c files from Gnulib when the pretest became closed to 
all code changes other than fixes to blocking bugs, because the Gnulib 
changes since then have not fixed blocking bugs.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Thu, 26 May 2016 15:21:02 GMT) Full text and rfc822 format available.

Message #28 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Gavin Smith <gavinsmith0123 <at> gmail.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 23611 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>,
 Texinfo <bug-texinfo <at> gnu.org>
Subject: Re: texinfo.tex 2016-05-07.20: "Tex capacity exceeded" with Emacs
 manuals
Date: Thu, 26 May 2016 16:20:14 +0100
On 25 May 2016 at 19:08, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> texinfo.tex version 2016-05-07.20 (the current version in Gnulib) causes
> what appears to be runaway recursion when used to make PDF files for GNU
> Emacs. The Emacs bug report is here:
>
> http://bugs.gnu.org/23611
>
> To reproduce the problem on a Fedora 23 x86-64 machine with build tools
> installed, you can run these shell commands:
>
> git clone git://git.savannah.gnu.org/emacs.git emacs-bug
> cd emacs-bug
> git checkout 1ee91bf89176251f6e399c8436dca0248cdd6f6b
> ./autogen.sh all
> ./configure
> make pdf

These instructions download several 100's of MB of a git repository
and I wasn't willing to let it finish. I tried the file
"emacs-lisp-intro.texi" from
http://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispintro, and
after editing the file a bit (so it didn't need other files), I
processed it with that version of texinfo.tex. Unfortunately, I wasn't
able to reproduce the error. I did find one problem, though: some
entries in the tables of contents, like 13.1, have "{No value for
``COUNT-WORDS''} " instead of the proper value. That's likely been
brought in by the same change, and needs to be fixed. The change was
to expand @value when the table of contents file was read in, and not
when it was written out: however, in this file the @value is only
given a value (with @set) after the @insertcopying command. I
understand that this should work. I'll have a look at it. If I
remember correctly, I made this change in the first place to prevent a
similar infinite recursion error happening when writing an undefined
@value to an auxiliary file.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Thu, 26 May 2016 15:50:01 GMT) Full text and rfc822 format available.

Message #31 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Gavin Smith <gavinsmith0123 <at> gmail.com>
Cc: 23611 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>,
 Texinfo <bug-texinfo <at> gnu.org>
Subject: Re: texinfo.tex 2016-05-07.20: "Tex capacity exceeded" with Emacs
 manuals
Date: Thu, 26 May 2016 08:48:59 -0700
[Message part 1 (text/plain, inline)]
On 05/26/2016 08:20 AM, Gavin Smith wrote:
> These instructions download several 100's of MB of a git repository
> and I wasn't willing to let it finish. I tried the file
> "emacs-lisp-intro.texi" from
> http://git.savannah.gnu.org/cgit/emacs.git/tree/doc/lispintro, and
> after editing the file a bit (so it didn't need other files), I
> processed it with that version of texinfo.tex. Unfortunately, I wasn't
> able to reproduce the error.

OK, here's a smaller example taken from the Emacs source code. Unpack 
the attached tarball in a fresh directory, copy the latest Gnulib 
texinfo.tex into it, and run the shell command 'texi2pdf bovine.texi'. 
On my platform (Fedora 23 x86-64, texi2pdf (GNU Texinfo 6.0) 6363) the 
output says './bovine.toc:1: TeX capacity exceeded, sorry [input stack 
size=5000].' Full output log attached.

Thanks for looking into the problem.

[texinfo-bug.tgz (application/x-compressed-tar, attachment)]
[texi2pdf-log.txt (text/plain, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Thu, 26 May 2016 18:42:01 GMT) Full text and rfc822 format available.

Message #34 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Gavin Smith <gavinsmith0123 <at> gmail.com>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 23611 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>,
 Texinfo <bug-texinfo <at> gnu.org>
Subject: Re: texinfo.tex 2016-05-07.20: "Tex capacity exceeded" with Emacs
 manuals
Date: Thu, 26 May 2016 19:41:10 +0100
On 26 May 2016 at 16:48, Paul Eggert <eggert <at> cs.ucla.edu> wrote:
> OK, here's a smaller example taken from the Emacs source code. Unpack the
> attached tarball in a fresh directory, copy the latest Gnulib texinfo.tex
> into it, and run the shell command 'texi2pdf bovine.texi'. On my platform
> (Fedora 23 x86-64, texi2pdf (GNU Texinfo 6.0) 6363) the output says
> './bovine.toc:1: TeX capacity exceeded, sorry [input stack size=5000].' Full
> output log attached.

OK, I got the same problem with the files you sent. I've committed and
uploaded a new version that reverses the change, so @value is expanded
at the time of writing again. Undefined @value's, when used in index
entries, should not cause failures, either. It's quite possible that
there is some combination that breaks, but it seems to work better for
the files I tried.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#23611; Package emacs. (Thu, 26 May 2016 21:18:02 GMT) Full text and rfc822 format available.

Message #37 received at 23611 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Gavin Smith <gavinsmith0123 <at> gmail.com>
Cc: 23611 <at> debbugs.gnu.org, Gnulib bugs <bug-gnulib <at> gnu.org>,
 Texinfo <bug-texinfo <at> gnu.org>
Subject: Re: texinfo.tex 2016-05-07.20: "Tex capacity exceeded" with Emacs
 manuals
Date: Thu, 26 May 2016 14:17:20 -0700
On 05/26/2016 11:41 AM, Gavin Smith wrote:
> OK, I got the same problem with the files you sent. I've committed and
> uploaded a new version that reverses the change, so @value is expanded
> at the time of writing again. Undefined @value's, when used in index
> entries, should not cause failures, either. It's quite possible that
> there is some combination that breaks, but it seems to work better for
> the files I tried.

Thanks, I verified that the new texinfo.tex works for GNU Emacs master 
'make pdf', and installed it there.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 24 Jun 2016 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 279 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.