New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doxygen gets confused and repeats things thousands of times (Origin: bugzilla #696925) #5131

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.8.3.1 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2013-03-30 21:15:26 +0000, Stéphane Charette wrote:

I'm trying to run Doxygen against the open-source library JUCE. But doxygen runs for days, and produces files that are several GB in size. It seems it gets stuck in loops.

I tried to reduce the header files I include to track the cause, and commenting out some #include files reduces the time doxygen runs from days to less than 1 minute! But I still cannot figure out what is causing this problem.

Here is an example of a problematic file generated by Doxygen:

http://jucebrary.sourceforge.net/docs/doxygen/test/classjuce_1_1AlertWindow.html

Scroll down on that page and it should be immediately obvious there is a problem. Unfortunately, I've spent days on this and still cannot figure out the root cause.

The JUCE source files are here: https://sourceforge.net/projects/juce/

On 2013-03-30 21:17:45 +0000, Stéphane Charette wrote:

Created attachment 240177
Doxyfile setup for JUCE

This is the Doxyfile I'm using. Note I've renamed EXCLUDE= to EEXCLUDE= for the purpose of running tests.

To prevent the looping, rename it back to EXCLUDE=.

To see doxygen get stuck in the nearly-infinite loop, get rid of EXCLUDE=...

On 2013-03-30 23:08:42 +0000, Kevin McBride wrote:

Thank you for taking your time to report this bug. Does doxygen 1.8.3.1 produce the same problem? If so, is there any smaller example you can provide in a tar or zip?

On 2013-03-31 00:14:43 +0000, Stéphane Charette wrote:

I just installed version 1.8.3.1-1 (the newest .deb packages I could find for Ubuntu) but the problem still exists. As I type this, doxygen has been running for just over 6 minutes instead of the 20-30 seconds it takes when I exclude those few problematic .h files.

I'll strip away the JUCE directories and create a small stand-alone example which I'll attach to this bug ticket.

On 2013-03-31 01:15:29 +0000, Stéphane Charette wrote:

Created attachment 240186
truncated version of JUCE with a Doxyfile to reproduce the problem in doxygen 1.8.3.1-1

I removed all modules from JUCE except for 1 of the core ones in a single directory. The problem reproduces, though less severe. Instead of hundreds or thousands of duplicates, there are between 2 and 8 depending on which class I look at. Doxyfile and single JUCE module attached as a .tar.gz archive.

On 2013-03-31 01:19:48 +0000, Stéphane Charette wrote:

Created attachment 240187
screenshot of problem in juce::TopLevelWindow using source files from comment # 4

On 2013-03-31 02:01:21 +0000, Kevin McBride wrote:

I have been able to reproduce the problem using the tar.gz attachment on at least "juce::TopLevelWindow". I am also attaching a doxygen log file to help the doxygen developers see what happened when this bug was triaged on my Windows 8 computer.

On 2013-03-31 02:03:42 +0000, Kevin McBride wrote:

Created attachment 240188
Doxywizard Log File

On 2013-04-20 14:52:51 +0000, Dimitri van Heesch wrote:

The problem is with include guard detection in combination with the following construct:

//- n.h ---------

namespace N
{

#ifndef A_H
#include "a.h"
#endif

#ifndef B_H
#include "b.h"
#endif

}

//- a.h ---------

#ifndef A_H
#define A_H

class A{};

#endif

//- b.h ---------

#ifndef B_H
#define B_H

#include "A.h"

class B : public A {};

#endif

//---------------

I'll improve this in the next release.

On 2013-05-19 12:36:36 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.4. 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.

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment