[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#458059: [NTG-pdftex] Bug#458059:




Hi Frank, Stijn,

Frank Küster wrote:
Dear TeX(-k) people, dear pdfTeX team,

late last year Norbert Preining already asked on the TeXk list about a
problem encountered in Debian, namely a TeX capacity exceeded error on
grouping levels. Nobody could help back then, but now someone started to
analyse this further (many thanks, Stijn!).  So could you please (again)
have a look?


Why aren't these quarterword/halfword bounds configurable?

They simply cannot be configurable at runtime because that would be too
late, the entire memory structure depends on these sizes.

There is a configuration variable nest_size level, but it doesn't seem
to help in this case: The attached file gives an error

! TeX capacity exceeded, sorry [grouping levels=255].

although my texmf.cnf has nest_size=500.

Should/can we change max_quarterword, or are there side effects?

Technically, at compile time we could have max_quarterword=65535 and
even max_halfword=2^30 on all modern platforms, but it more or less requires switching to the memory_word structure used by Omega/
Aleph/Luatex for efficiency reasons.

Also, such a change is not something to be undertaken lightly. I've done
that for luatex and iirc there were a few small, subtle side-effects that took me entire days to hunt down. Definately a bad idea at last
minute before texlive 2008, and therefore IMO probably not worth the
trouble at all (for pdftex).

Or should the grouping levels instead use halfword? Or would you like to do
it in a completely different way?  This is a real life problem which
affects building the PostgreSQL documentatin.

In any case, we should try running the test with aleph or luatex to be
sure but I (at least half-)expect that the actual limit will not matter,
and that it simply will never be large enough due to some form of
recursion. I can try this tomorrow, will let you know then unless
someone beats me to it.

Best wishes,
Taco




Reply to: