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 595833 - doxygen consume all memory then crash
doxygen consume all memory then crash
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.6.1
Other Linux
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2009-09-21 14:06 UTC by qu454r
Modified: 2009-12-30 13:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
doxygen configuration (62.04 KB, application/octet-stream)
2009-09-21 14:06 UTC, qu454r
Details

Description qu454r 2009-09-21 14:06:09 UTC
Created attachment 143595 [details]
doxygen configuration

There are nested namespaces construction as follows (it is synthetic sample
prepared on real case), dox_crash.cpp:

namespace n2
{
    template <class A>
    class ClassName
    {
    public:
        typedef A adapter_type;
    };
}

namespace n1
{
    namespace n2
    {
        template <class SA>
        class ClassName :
            public ::n2::ClassName<typename SA::abstract_adapter_type>
        {
        };
    }
}

struct X
{
    typedef int abstract_adapter_type;
};

int main(void)
{
    n1::n2::ClassName<X> a;

    return 0;
}

It is compillable.

When the doxygen is used to document this file (see attached configuration), it
stay in phase "Computing class inheritance relations..." and it is allocating
memory up to around 3GiB, than crashes.

If the n1::n2::ClassName is changed to different name, it works fine.
Comment 1 Dimitri van Heesch 2009-10-04 11:03:30 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 2 Dimitri van Heesch 2009-12-30 13:39:03 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.6.2. Please verify if this is indeed the case and reopen the
bug if you think it is not fixed (include any additional information that you
think can be relevant).