New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segfault in QGListIterator while parsing fortran code (Origin: bugzilla #733856) #5528

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity major in component general for ---
Reported in version 1.8.7 on platform Other
Assigned to: Dimitri van Heesch

On 2014-07-28 10:56:23 +0000, andy.weber.aw@gmail.com wrote:

I guess this is a regression because the same file is parsed without problems in 1.8.1.2-2. Fortran code from http://hg.savannah.gnu.org/hgweb/octave/file/d4b69559a0f7/liboctave/cruft/ranlib/tstmid.for

I've install the debugging symbols and ran

doxygen -g
gdb -d ../doxygen-1.8.7/src -d ../doxygen-1.8.7/qtools /usr/bin/doxygen

Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching for files to process...
Searching for files in directory /home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug
Reading and parsing tag files
Parsing files
Reading /home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for...
Prepassing fixed form of /home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for
Parsing file /home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for...


Error in file /home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for line: 612, state: 17


Program received signal SIGSEGV, Segmentation fault.
QGListIterator::QGListIterator (this=0x7fffffffdf10, l=...) at qglist.cpp:1058
warning: Source file is more recent than executable.
1058 curNode = list->firstNode; // set to first node
(gdb) list
1053 */
1054
1055 QGListIterator::QGListIterator( const QGList &l )
1056 {
1057 list = (QGList *)&l; // get reference to list
1058 curNode = list->firstNode; // set to first node
1059 if ( !list->iterators ) {
1060 list->iterators = new QGList; // create iterator list
1061 CHECK_PTR( list->iterators );
1062 }
(gdb) print l
$1 = (const QGList &) @0x180:
(gdb) print list
$2 = (QGList *) 0x0
(gdb) bt

0 QGListIterator::QGListIterator (this=0x7fffffffdf10, l=...) at qglist.cpp:1058

1 0x0000000000648717 in QListIterator (l=..., this=0x7fffffffdf10) at ../qtools/qlist.h:129

2 endScope (scope=0x10b7490, isGlobalRoot=isGlobalRoot@entry=true) at fortranscanner.l:1904

3 0x000000000064f312 in parseMain (format=, rt=0x10d1570,

fileBuf=<optimized out>, 
fileName=0x10b3430 "/home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for")
at fortranscanner.l:2316

4 FortranLanguageScanner::parseInput (this=,

fileName=0x10b3430 "/home/andy/src/octave-default-dbg-build/doc/doxyhtml/debug/tstmid.for", 
fileBuf=<optimized out>, root=0x10d1570) at fortranscanner.l:2348

5 0x000000000041672f in parseFile (sameTu=false, filesInSameTu=..., fn=, fd=

0x10d2020, rootNav=0x10d1210, root=0x10d1570, parser=0x1006b40) at doxygen.cpp:9282

6 parseFiles (root=root@entry=0x10d1570, rootNav=rootNav@entry=0x10d1210) at doxygen.cpp:9374

7 0x000000000043585f in parseInput () at doxygen.cpp:10912

8 0x0000000000409f99 in main (argc=1, argv=0x7fffffffe3e8) at main.cpp:37

On 2014-07-30 11:37:54 +0000, albert wrote:

Problem is that in the newer versions the word type is to start type definitions etc. In the past the word type was used as a variable name, like in the given example.

I've just pushed a solution to github (pull request 203) that recognizes the word type in this case as a variable.

On 2014-08-03 07:35:31 +0000, albert wrote:

Code of patch has been integrated into git.

On 2014-08-21 17:15:43 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.8. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant (preferrably in the form of a self-contained example).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment