Hi all,

I have succeeded in crashing doxygen 1.8.8; it happens when I use a tag file 
for the Google sparsehash package in documentation for my own software. When I 
remove the sparsehash entry from the TAGFILES list, then the documentation 
builds properly. I've traced the crash to the "Building class list..." phase, 
where Definition::localName() is called with a NULL Definition*. The full 
stacktrace is below.

The problem appears to be in buildScopeFromQualifiedName() at line 1041 of 
doxygen.cpp, where a NULL innerScope variable is passed to

        prevScope->addInnerCompound(innerScope);

The name parameter and fullScope variable are both 
"google::has_trivial_constructor< std::pair< T, U > >", i = 1, nsName = 
"has_trivial_constructor< std::pair< T, U > >", nd = 0, and cd = 0.

I am happy to try out patches and run things through the debugger, but don't 
have time to read more of the code. Does anyone have ideas for a fix?

        Thanks,
        David

Stack trace:

* thread #1: tid = 0x2464d42, 0x00000001000ac593 
doxygen`Definition::localName(this=0x0000000000000000) const + 19 at 
definition.cpp:1386, queue = 'com.apple.main-thread', stop reason = 
EXC_BAD_ACCESS (code=1, address=0x8)
  * frame #0: 0x00000001000ac593 
doxygen`Definition::localName(this=0x0000000000000000) const + 19 at 
definition.cpp:1386
    frame #1: 0x0000000100380863 
doxygen`NamespaceDef::addInnerCompound(this=0x0000000103e07500, 
d=0x0000000000000000) + 51 at namespacedef.cpp:136
    frame #2: 0x0000000100165fd1 
doxygen`buildScopeFromQualifiedName(name=<unavailable>, level=2, 
lang=SrcLangExt_Unknown, tagInfo=0x00000001016d6e20) + 1537 at doxygen.cpp:1041
    frame #3: 0x00000001001822c4 
doxygen`addClassToContext(rootNav=0x0000000102a4a0f0) + 2052 at doxygen.cpp:1315
    frame #4: 0x00000001001494db 
doxygen`buildClassList(rootNav=0x0000000102a4a0f0) + 91 at doxygen.cpp:1392
    frame #5: 0x0000000100149547 
doxygen`buildClassList(rootNav=0x0000000102a76940) + 199 at doxygen.cpp:1394
    frame #6: 0x0000000100149547 
doxygen`buildClassList(rootNav=0x0000000101667060) + 199 at doxygen.cpp:1394
    frame #7: 0x0000000100144073 doxygen`parseInput() + 6675 at 
doxygen.cpp:10981
    frame #8: 0x00000001000011c6 doxygen`main(argc=2, argv=0x00007fff5fbff7a8) 
+ 54 at main.cpp:37


------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Doxygen-users mailing list
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to