Thread: [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= |
From: Jason F. <jas...@ja...> - 2006-10-17 20:49:49
Attachments:
doxytest.tar.gz
|
Attached is a small test case that reproduces the problem. I get the crash under Windows and MacOS. I haven't tried other platforms. |
From: Kevin M. <ke...@pl...> - 2006-10-18 06:41:38
Attachments:
smime.p7s
|
I have imported this bug into the bugzilla. The link is: http://bugzilla.gnome.org/show_bug.cgi?id=363067 To help us out with the bug statistics, we would appreciate it if you file bugs within the bugzilla. :) - KJM Jason Ferrara wrote: > I just upgraded from 1.4.7 to 1.5.0, and 1.5.0 is crashing on a set > 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 = > Doxygen::symbolMap->find(symName); --> if > (di->definitionType()==DefinitionIntf::TypeSymbolList) // multiple > symbols > > di = 0x0000000, which is causing the crash. > > I don't know if this matters, but symName = "SuspendLayout", which is > a method my code calls, but the definition of that method doesn't > exist in any of the source that doxygen is parsing. > > Call stack: >> doxygen.exe!findMemberLink(CodeOutputInterface & ol={...}, char * >> > symName=0x01eecf22) Line 758 + 0x3 bytes C++ > doxygen.exe!pycodeYYlex() Line 963 + 0x15 bytes C++ > doxygen.exe!parsePythonCode(CodeOutputInterface & od={...}, const > char * className=0x009aac56, const QCString & s={...}, bool > exBlock=false, const char * exName=0x009aac56, FileDef * > fd=0x0174cd38, int startLine=-1, int endLine=-1, bool > inlineFragment=true, MemberDef * __formal=0x00000000) Line 1427 C++ > doxygen.exe!PythonLanguageScanner::parseCode(CodeOutputInterface & > codeOutIntf={...}, const char * scopeName=0x00000000, const QCString > & input={...}, bool isExampleBlock=false, const char * > exampleName=0x00000000, FileDef * fileDef=0x0174cd38, int > startLine=-1, int endLine=-1, bool inlineFragment=false, MemberDef * > memberDef=0x00000000) Line 1592 + 0x2d bytes C++ > doxygen.exe!FileDef::writeSource(OutputList & ol={...}) Line 664 + > 0x89 bytes C++ doxygen.exe!generateFileSources() Line 6748 + 0xe > bytes C++ doxygen.exe!generateOutput() Line 9636 C++ > doxygen.exe!main(int argc=2, char * * argv=0x015f2de0) Line 39 C++ > doxygen.exe!__tmainCRTStartup() Line 318 + 0x19 bytes C > doxygen.exe!mainCRTStartup() Line 187 C kernel32.dll!7c816fd7() > [Frames below may be incorrect and/or missing, no symbols loaded for > kernel32.dll] ntdll.dll!7c911414() > doxygen.exe!ManGenerator::enable() Line 35 + 0x43 bytes C++ > doxygen.exe!FTVHelp::generateIndent(QTextStream & t={...}, FTVNode * > n=0x0075006c, int level=115) Line 468 C++ > doxygen.exe!Config::check() Line 1217 + 0x1d bytes C++ > doxygen.exe!commentScanYYlex() Line 1420 + 0xb bytes C++ 8b00a155() > > > > Let me know if I can supply any other information that would help, or > if there are any suggestions on what to look at. This is my first > look at the doxygen source, so I'm still finding my way around. > > Thanks > > - J > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, > security? Get stuff done quickly with pre-integrated technology to > make your job easier Download IBM WebSphere Application Server > v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ Doxygen-develop > mailing list Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-develop > -- This message has been digitally signed with a GlobalSign-issued certificate. For more information, please visit GlobalSign's web site at: http://www.globalsign.net/ |