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
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-users