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