[Doxygen-develop] 1.5.0 crash
Brought to you by:
dimitri
From: Jason F. <jas...@ja...> - 2006-10-17 20:20:46
|
I just upgraded from 1.4.7 to 1.5.0, and 1.5.0 is crashing on a set =20 of sources (python) for which 1.4.7 worked. It's failing at line 758 of pycode.l (the full call stack is below). if (g_currentDefinition) { DefinitionIntf *di =3D Doxygen::symbolMap->find(symName); --> if (di->definitionType()=3D=3DDefinitionIntf::TypeSymbolList) // =20= multiple symbols=00 di =3D 0x0000000, which is causing the crash. I don't know if this matters, but symName =3D "SuspendLayout", which is =20= a method my code calls, but the definition of that method doesn't =20 exist in any of the source that doxygen is parsing. Call stack: > doxygen.exe!findMemberLink(CodeOutputInterface & ol=3D{...}, = char * =20 symName=3D0x01eecf22) Line 758 + 0x3 bytes C++ doxygen.exe!pycodeYYlex() Line 963 + 0x15 bytes C++ doxygen.exe!parsePythonCode(CodeOutputInterface & od=3D{...}, = const =20 char * className=3D0x009aac56, const QCString & s=3D{...}, bool =20 exBlock=3Dfalse, const char * exName=3D0x009aac56, FileDef * =20 fd=3D0x0174cd38, int startLine=3D-1, int endLine=3D-1, bool =20 inlineFragment=3Dtrue, MemberDef * __formal=3D0x00000000) Line 1427 = C++ doxygen.exe!PythonLanguageScanner::parseCode(CodeOutputInterface = & =20 codeOutIntf=3D{...}, const char * scopeName=3D0x00000000, const QCString = =20 & input=3D{...}, bool isExampleBlock=3Dfalse, const char * =20 exampleName=3D0x00000000, FileDef * fileDef=3D0x0174cd38, int =20 startLine=3D-1, int endLine=3D-1, bool inlineFragment=3Dfalse, MemberDef = * =20 memberDef=3D0x00000000) Line 1592 + 0x2d bytes C++ doxygen.exe!FileDef::writeSource(OutputList & ol=3D{...}) Line = 664 + =20 0x89 bytes C++ doxygen.exe!generateFileSources() Line 6748 + 0xe bytes = C++ doxygen.exe!generateOutput() Line 9636 C++ doxygen.exe!main(int argc=3D2, char * * argv=3D0x015f2de0) Line = 39 C++ doxygen.exe!__tmainCRTStartup() Line 318 + 0x19 bytes C doxygen.exe!mainCRTStartup() Line 187 C kernel32.dll!7c816fd7() =09 [Frames below may be incorrect and/or missing, no symbols loaded = for =20 kernel32.dll]=09 ntdll.dll!7c911414() =09 doxygen.exe!ManGenerator::enable() Line 35 + 0x43 bytes = C++ doxygen.exe!FTVHelp::generateIndent(QTextStream & t=3D{...}, = FTVNode * =20 n=3D0x0075006c, int level=3D115) Line 468 C++ doxygen.exe!Config::check() Line 1217 + 0x1d bytes C++ doxygen.exe!commentScanYYlex() Line 1420 + 0xb bytes C++ 8b00a155()=09 =00 Let me know if I can supply any other information that would help, or =20= if there are any suggestions on what to look at. This is my first =20 look at the doxygen source, so I'm still finding my way around. Thanks - J= |