Re: [Doxygen-users] Crash building class list
Brought to you by:
dimitri
From: Dimitri v. H. <do...@gm...> - 2014-09-20 09:53:34
|
Hi David, I would expect that this commit already addresses the problem below: https://github.com/doxygen/doxygen/commit/6d4044ad43ae1424a256eb1c26992301e7c64f4a Regards, Dimitri On 20 Sep 2014, at 3:58 , David Thompson <dav...@ki...> wrote: > 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 > Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-users |