GNOME Bugzilla – Bug 741417
Crash when building gtkmm documentation
Last modified: 2014-12-25 16:02:51 UTC
This problem happens in doxygen 1.8.8 release and the master branch. I test it with the master branch of doxygen and gtkmm. Here is the output: Building group list... Building directory list... Building namespace list... Building file list... Building class list... 27473 Segmentation fault (core dumped) | MMDOCTOOLDIR="../docs" "/path/to/doxygen" - Here is the backtrace:
+ Trace 234415
I think this problem has already been solved in the meantime. Can you please check with the latest snapshot from GitHub?
I already use the latest snapshot (master branch). It still crashes now.
Can you please provide some step by step instructions how to reproduce this? Also mention the version of gtkmm you are using. I tried running doxygen on gtkmm 3.10.1 sources but I didn't get this crash.
It works fine with 3.10.1, but it crashes with the master branch of gtkmm. Steps to reproduce the problem: 1. Get the latest gtkmm source: $ git clone git://git.gnome.org/gtkmm 2. Build gtkmm with default options $ env DOXYGEN=/path/to/latest/doxygen ./autogen.sh --prefix /path/to/build/prefix --disable-static $ make -j4 Doxygen will crash when building the documentation. I test this on Fedora 21.
Thanks for the details. Unfortunately my Linux distro is too old to resolve all build dependencies for the latest greatest version of gtkmm. Could you please attach the Doxyfile that is created after a succesful configure/build to this bug report? That's probably all I need.
Created attachment 292785 [details] reference/Doxyfile gtkmm constructs Doxyfile using shell command and the result are sent to doxygen by stdin. The command it uses is: ( echo '@INCLUDE =' reference/Doxyfile && echo 'INPUT =' ../gdk/gdkmm/applaunchcontext.h ../gdk/gdkmm/cursor.h ../gdk/gdkmm/device.h ../gdk/gdkmm/devicemanager.h ../gdk/gdkmm/display.h ../gdk/gdkmm/displaymanager.h ../gdk/gdkmm/dragcontext.h ../gdk/gdkmm/event.h ../gdk/gdkmm/pixbuf.h ../gdk/gdkmm/pixbufanimation.h ../gdk/gdkmm/pixbufanimationiter.h ../gdk/gdkmm/pixbufformat.h ../gdk/gdkmm/pixbufloader.h ../gdk/gdkmm/rectangle.h ../gdk/gdkmm/rgba.h ../gdk/gdkmm/screen.h ../gdk/gdkmm/timecoord.h ../gdk/gdkmm/types.h ../gdk/gdkmm/visual.h ../gdk/gdkmm/window.h ../gdk/gdkmm/color.h ../gdk/gdkmm/general.h ../gtk/gtkmm/aboutdialog.h ../gtk/gtkmm/accelgroup.h ../gtk/gtkmm/accellabel.h ../gtk/gtkmm/action.h ../gtk/gtkmm/actionable.h ../gtk/gtkmm/actionbar.h ../gtk/gtkmm/actiongroup.h ../gtk/gtkmm/activatable.h ../gtk/gtkmm/adjustment.h ../gtk/gtkmm/appchooser.h ../gtk/gtkmm/appchooserbutton.h ../gtk/gtkmm/appchooserdialog.h ../gtk/gtkmm/appchooserwidget.h ../gtk/gtkmm/application.h ../gtk/gtkmm/applicationwindow.h ../gtk/gtkmm/aspectframe.h ../gtk/gtkmm/assistant.h ../gtk/gtkmm/bin.h ../gtk/gtkmm/border.h ../gtk/gtkmm/box.h ../gtk/gtkmm/buildable.h ../gtk/gtkmm/builder.h ../gtk/gtkmm/button.h ../gtk/gtkmm/buttonbox.h ../gtk/gtkmm/calendar.h ../gtk/gtkmm/cellarea.h ../gtk/gtkmm/cellareabox.h ../gtk/gtkmm/cellareacontext.h ../gtk/gtkmm/celleditable.h ../gtk/gtkmm/celllayout.h ../gtk/gtkmm/cellrenderer.h ../gtk/gtkmm/cellrendereraccel.h ../gtk/gtkmm/cellrenderercombo.h ../gtk/gtkmm/cellrendererpixbuf.h ../gtk/gtkmm/cellrendererprogress.h ../gtk/gtkmm/cellrendererspin.h ../gtk/gtkmm/cellrendererspinner.h ../gtk/gtkmm/cellrenderertext.h ../gtk/gtkmm/cellrenderertoggle.h ../gtk/gtkmm/cellview.h ../gtk/gtkmm/checkbutton.h ../gtk/gtkmm/checkmenuitem.h ../gtk/gtkmm/clipboard.h ../gtk/gtkmm/colorbutton.h ../gtk/gtkmm/colorchooser.h ../gtk/gtkmm/colorchooserdialog.h ../gtk/gtkmm/combobox.h ../gtk/gtkmm/comboboxtext.h ../gtk/gtkmm/container.h ../gtk/gtkmm/cssprovider.h ../gtk/gtkmm/csssection.h ../gtk/gtkmm/dialog.h ../gtk/gtkmm/drawingarea.h ../gtk/gtkmm/editable.h ../gtk/gtkmm/entry.h ../gtk/gtkmm/entrycompletion.h ../gtk/gtkmm/entrybuffer.h ../gtk/gtkmm/enums.h ../gtk/gtkmm/eventbox.h ../gtk/gtkmm/eventcontroller.h ../gtk/gtkmm/expander.h ../gtk/gtkmm/filechooser.h ../gtk/gtkmm/filechooserbutton.h ../gtk/gtkmm/filechooserdialog.h ../gtk/gtkmm/filechooserwidget.h ../gtk/gtkmm/filefilter.h ../gtk/gtkmm/fixed.h ../gtk/gtkmm/flowbox.h ../gtk/gtkmm/flowboxchild.h ../gtk/gtkmm/fontbutton.h ../gtk/gtkmm/fontchooser.h ../gtk/gtkmm/fontchooserdialog.h ../gtk/gtkmm/fontchooserwidget.h ../gtk/gtkmm/frame.h ../gtk/gtkmm/gesture.h ../gtk/gtkmm/gesturedrag.h ../gtk/gtkmm/gesturelongpress.h ../gtk/gtkmm/gesturemultipress.h ../gtk/gtkmm/gesturepan.h ../gtk/gtkmm/gesturerotate.h ../gtk/gtkmm/gesturesingle.h ../gtk/gtkmm/gestureswipe.h ../gtk/gtkmm/gesturezoom.h ../gtk/gtkmm/grid.h ../gtk/gtkmm/headerbar.h ../gtk/gtkmm/hvbox.h ../gtk/gtkmm/iconinfo.h ../gtk/gtkmm/icontheme.h ../gtk/gtkmm/iconview.h ../gtk/gtkmm/image.h ../gtk/gtkmm/infobar.h ../gtk/gtkmm/invisible.h ../gtk/gtkmm/label.h ../gtk/gtkmm/layout.h ../gtk/gtkmm/levelbar.h ../gtk/gtkmm/linkbutton.h ../gtk/gtkmm/listbox.h ../gtk/gtkmm/listboxrow.h ../gtk/gtkmm/liststore.h ../gtk/gtkmm/lockbutton.h ../gtk/gtkmm/main.h ../gtk/gtkmm/menu.h ../gtk/gtkmm/menubar.h ../gtk/gtkmm/menubutton.h ../gtk/gtkmm/menuitem.h ../gtk/gtkmm/menushell.h ../gtk/gtkmm/menutoolbutton.h ../gtk/gtkmm/messagedialog.h ../gtk/gtkmm/misc.h ../gtk/gtkmm/notebook.h ../gtk/gtkmm/offscreenwindow.h ../gtk/gtkmm/orientable.h ../gtk/gtkmm/overlay.h ../gtk/gtkmm/pagesetup.h ../gtk/gtkmm/paned.h ../gtk/gtkmm/papersize.h ../gtk/gtkmm/placessidebar.h ../gtk/gtkmm/popover.h ../gtk/gtkmm/printcontext.h ../gtk/gtkmm/printoperation.h ../gtk/gtkmm/printoperationpreview.h ../gtk/gtkmm/printsettings.h ../gtk/gtkmm/progressbar.h ../gtk/gtkmm/radioaction.h ../gtk/gtkmm/radiobutton.h ../gtk/gtkmm/radiomenuitem.h ../gtk/gtkmm/radiotoolbutton.h ../gtk/gtkmm/range.h ../gtk/gtkmm/recentaction.h ../gtk/gtkmm/recentchooser.h ../gtk/gtkmm/recentchooserdialog.h ../gtk/gtkmm/recentchoosermenu.h ../gtk/gtkmm/recentchooserwidget.h ../gtk/gtkmm/recentfilter.h ../gtk/gtkmm/recentinfo.h ../gtk/gtkmm/recentmanager.h ../gtk/gtkmm/requisition.h ../gtk/gtkmm/revealer.h ../gtk/gtkmm/scale.h ../gtk/gtkmm/scalebutton.h ../gtk/gtkmm/scrollable.h ../gtk/gtkmm/scrollbar.h ../gtk/gtkmm/scrolledwindow.h ../gtk/gtkmm/searchbar.h ../gtk/gtkmm/searchentry.h ../gtk/gtkmm/selectiondata.h ../gtk/gtkmm/separator.h ../gtk/gtkmm/separatormenuitem.h ../gtk/gtkmm/separatortoolitem.h ../gtk/gtkmm/settings.h ../gtk/gtkmm/sizegroup.h ../gtk/gtkmm/spinbutton.h ../gtk/gtkmm/spinner.h ../gtk/gtkmm/stack.h ../gtk/gtkmm/stackswitcher.h ../gtk/gtkmm/statusbar.h ../gtk/gtkmm/stylecontext.h ../gtk/gtkmm/styleprovider.h ../gtk/gtkmm/switch.h ../gtk/gtkmm/targetlist.h ../gtk/gtkmm/textattributes.h ../gtk/gtkmm/textbuffer.h ../gtk/gtkmm/textchildanchor.h ../gtk/gtkmm/textiter.h ../gtk/gtkmm/textmark.h ../gtk/gtkmm/texttag.h ../gtk/gtkmm/texttagtable.h ../gtk/gtkmm/textview.h ../gtk/gtkmm/toggleaction.h ../gtk/gtkmm/togglebutton.h ../gtk/gtkmm/toggletoolbutton.h ../gtk/gtkmm/toolbar.h ../gtk/gtkmm/toolbutton.h ../gtk/gtkmm/toolitem.h ../gtk/gtkmm/toolitemgroup.h ../gtk/gtkmm/toolpalette.h ../gtk/gtkmm/toolshell.h ../gtk/gtkmm/tooltip.h ../gtk/gtkmm/treedragdest.h ../gtk/gtkmm/treedragsource.h ../gtk/gtkmm/treeiter.h ../gtk/gtkmm/treemodel.h ../gtk/gtkmm/treemodelfilter.h ../gtk/gtkmm/treemodelsort.h ../gtk/gtkmm/treepath.h ../gtk/gtkmm/treerowreference.h ../gtk/gtkmm/treeselection.h ../gtk/gtkmm/treesortable.h ../gtk/gtkmm/treestore.h ../gtk/gtkmm/treeview.h ../gtk/gtkmm/treeviewcolumn.h ../gtk/gtkmm/uimanager.h ../gtk/gtkmm/viewport.h ../gtk/gtkmm/volumebutton.h ../gtk/gtkmm/widget.h ../gtk/gtkmm/widgetpath.h ../gtk/gtkmm/window.h ../gtk/gtkmm/pagesetupunixdialog.h ../gtk/gtkmm/printer.h ../gtk/gtkmm/printjob.h ../gtk/gtkmm/printunixdialog.h ../gtk/gtkmm/plug.h ../gtk/gtkmm/socket.h ../gtk/gtkmm/alignment.h ../gtk/gtkmm/arrow.h ../gtk/gtkmm/colorselection.h ../gtk/gtkmm/fontselection.h ../gtk/gtkmm/handlebox.h ../gtk/gtkmm/hvbuttonbox.h ../gtk/gtkmm/hvpaned.h ../gtk/gtkmm/hvscale.h ../gtk/gtkmm/hvscrollbar.h ../gtk/gtkmm/hvseparator.h ../gtk/gtkmm/iconfactory.h ../gtk/gtkmm/iconset.h ../gtk/gtkmm/iconsource.h ../gtk/gtkmm/imagemenuitem.h ../gtk/gtkmm/numerableicon.h ../gtk/gtkmm/statusicon.h ../gtk/gtkmm/stockitem.h ../gtk/gtkmm/table.h ../gtk/gtkmm/tearoffmenuitem.h ../gtk/gtkmm/accelkey.h ../gtk/gtkmm/accelmap.h ../gtk/gtkmm/base.h ../gtk/gtkmm/border.h ../gtk/gtkmm/cellrenderer_generation.h ../gtk/gtkmm/childpropertyproxy.h ../gtk/gtkmm/childpropertyproxy_base.h ../gtk/gtkmm/listviewtext.h ../gtk/gtkmm/object.h ../gtk/gtkmm/radiobuttongroup.h ../gtk/gtkmm/selectiondata_private.h ../gtk/gtkmm/styleproperty.h ../gtk/gtkmm/targetentry.h ../gtk/gtkmm/treemodelcolumn.h ../gtk/gtkmm/treeview_private.h ../gtk/gtkmm/stock.h ../gtk/gtkmm/stockid.h ../gtk/gtkmm.h ) | MMDOCTOOLDIR="../docs" "/path/to/doxygen" -
(In reply to comment #5) > Thanks for the details. Unfortunately my Linux distro is too old to resolve all > build dependencies for the latest greatest version of gtkmm. > Build dependencies can be resolved by installing JHBuild (https://git.gnome.org/browse/jhbuild) and running `jhbuild build gtkmm'.
Seems to be truely impossible for me to get it to build even with jhbuild :-( So I'm afraid I need more help. Can you send me the whole thing pre-build? Or otherwise run valgrind on doxygen for me and send me the output of that?
(In reply to comment #8) > Seems to be truely impossible for me to get it to build even with jhbuild :-( Do you mean that there are system dependencies which cannot be satisfied? > So I'm afraid I need more help. Can you send me the whole thing pre-build? Or > otherwise run valgrind on doxygen for me and send me the output of that? I can run valgrind and attach the output later.
Created attachment 292887 [details] Doxygen valgrind log
After I rebuild gtkmm and all its dependencies (32 other packages), doxygen doesn't crash now.
Hmm, interesting turn of events. Looking at your valgrind log I did find a potential issue that could be triggered by a tag file with some unexpected content. This may also explain why updating all dependencies (and thus also the tag files that doxygen imports) could make the problem go away. Here is the commit: https://github.com/doxygen/doxygen/commit/050fce2b73d6e4455808ab86da2fddcf2f26e9b5 Let me know if you still see this or similar problems with the patch included.
Thanks, the problem is fixed now. When will we get a new release?
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.9. 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).