After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 776791 - [1.8.13 Regression] Segfault building the breathe docs
[1.8.13 Regression] Segfault building the breathe docs
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.13
Other Linux
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
: 777941 782090 782121 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2017-01-03 06:44 UTC by Matthias Klose
Modified: 2017-12-25 18:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
failing example (16.59 KB, application/gzip)
2017-01-03 06:44 UTC, Matthias Klose
Details

Description Matthias Klose 2017-01-03 06:44:07 UTC
Created attachment 342744 [details]
failing example

[forwarded from https://bugs.debian.org/849991]

doxygen 1.8.13 segfaults building the breathe docs (examples). Works with 1.8.12.

$ gdb --args doxygen tinyxml.cfg
GNU gdb (Debian 7.12-4) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from doxygen...Reading symbols from /usr/lib/debug/.build-id/2c/5b57e61012c209a82ea5c47759da68b259573c.debug...done.
done.
(gdb) r

< snip many warnings >

Program received signal SIGSEGV, Segmentation fault.
generateXMLForMember (md=md@entry=0x555556902930, ti=..., t=..., def=def@entry=0x55555696bee0) at ./src/xmlgen.cpp:623
623     ./src/xmlgen.cpp: No such file or directory.
(gdb) bt
  • #0 generateXMLForMember
    at ./src/xmlgen.cpp line 623
  • #1 generateXMLSection
    at ./src/xmlgen.cpp line 1066
  • #2 generateXMLForClass
    at ./src/xmlgen.cpp line 1390
  • #3 generateXML
    at ./src/xmlgen.cpp line 1919
  • #4 generateOutput
    at ./src/doxygen.cpp line 11590
  • #5 main
    at ./src/main.cpp line 38

Comment 1 albert 2017-01-03 17:52:32 UTC
I had a quick look in the source code and it looks like that the change on September 21, 2016 for bug_771152 is causing the problem.
The line:
    if (al->refQualifier!=RefQualifierNone)
should probably read:
    if (a1!=0 && al->refQualifier!=RefQualifierNone)
See also line 612 in the same file.

Can you confirm this?
Comment 2 albert 2017-01-03 17:53:55 UTC
a1 should read al in the above:
    if (al!=0 && al->refQualifier!=RefQualifierNone)
Comment 3 Graham Inggs 2017-01-03 21:55:18 UTC
Thanks Albert!  That change worked for me with breathe and also with gyoto [1] where I found a similar problem.


[1] http://gyoto.obspm.fr/
Comment 4 albert 2017-01-04 11:27:07 UTC
I've just pushed a proposed patch to github (pull request 555)
Comment 5 albert 2017-01-06 08:48:03 UTC
Code has been integrated on github.
Comment 6 Dimitri van Heesch 2017-02-24 19:57:12 UTC
*** Bug 777941 has been marked as a duplicate of this bug. ***
Comment 7 John Hein 2017-05-02 23:00:11 UTC
*** Bug 782090 has been marked as a duplicate of this bug. ***
Comment 8 Dimitri van Heesch 2017-05-04 17:55:19 UTC
*** Bug 782121 has been marked as a duplicate of this bug. ***
Comment 9 Dimitri van Heesch 2017-12-25 18:43:56 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.14. 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 (preferably in the form of a self-contained example).