After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 689720 - Unmatched push/pop of generator state can lead to refman.tex not being generated
Unmatched push/pop of generator state can lead to refman.tex not being generated
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.2-SVN
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2012-12-05 17:37 UTC by Gareth McCaughan
Modified: 2012-12-26 16:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gareth McCaughan 2012-12-05 17:37:55 UTC
Since r812 (1.8.0-20120429) the following has been the case: The implementation ClassDef::writeInheritedMemberDeclarations does: ol.pushGeneratorState(); do some things; ol.popGeneratorState(). However, within the "do some things" code it is possible for writeInheritedMemberDeclarations to return early, in which case the pop never happens and the generator state isn't properly unwound.

I haven't attempted to figure out the details of how it all worked out in the particular case I encountered, but the effect was that when refman.tex is supposed to be created, although the LaTeX output generator has supposedly just been enabled, it isn't really because the generator state stack is all confused, and refman.tex never gets created. I would imagine the same underlying error could cause other problems in other situations.

Explicitly calling ol.popGeneratorState() before the early return from ClassDef::writeInheritedMemberDeclarations appears to fix the problem for me, but I haven't looked into it deeply enough to be 100% certain that no further changes are called for.
Comment 1 Dimitri van Heesch 2012-12-11 19:58:10 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 2 Dimitri van Heesch 2012-12-26 16:09:01 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.3. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.