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