Skip to content

Regression with HTML_DYNAMIC_MENUS = NO, DISABLE_INDEX = NO, and custom LAYOUT_FILE #11299

@lahwaacz

Description

@lahwaacz

Describe the bug
Doxygen 1.13.0 segfaults when specific settings are set in the Doxyfile, while version 1.12.0 worked fine.

To Reproduce

  • Generate a default Doxyfile: doxygen -g Doxyfile
  • Generate a default layout file: doxygen -l - > layout.xml
  • Change three settings in the Doxyfile:
    LAYOUT_FILE            = layout.xml
    HTML_DYNAMIC_MENUS     = NO
    DISABLE_INDEX          = NO
    
    (Leaving any of these three settings at default will avoid the problem.)
  • Run doxygen Doxyfile, it will segfault:
...
Generating namespace documentation...
Generating graph info page...
Generating directory documentation...
Generating index page...
Segmentation fault (core dumped)

Expected behavior
Doxygen should not segfault 😄

Version
Doxygen 1.13.0, built and installed on Arch Linux using the official package.

This bug was actually found during a rebuild of another Arch Linux package: https://gitlab.archlinux.org/archlinux/packaging/packages/arrayfire/-/issues/2

Stack trace
Running gdb --args doxygen Doxyfile shows the following stack trace:

Program received signal SIGSEGV, Segmentation fault.
Downloading 106.55 K source file /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/htmlgen.cpp
renderQuickLinksAsTabs (t=..., relPath=..., hlEntry=0x736176616a2f7478, kind=LayoutNavEntry::MainPage, highlightParent=false, highlightSearch=false)
    at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/htmlgen.cpp:2786
warning: Source file is more recent than executable.
2786	  if (hlEntry->parent()) // first draw the tabs for the parent of hlEntry
(gdb) bt
#0  renderQuickLinksAsTabs (t=..., relPath=..., hlEntry=0x736176616a2f7478, kind=LayoutNavEntry::MainPage, highlightParent=false, highlightSearch=false)
    at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/htmlgen.cpp:2786
#1  0x0000555555725bc6 in renderQuickLinksAsTabs (t=..., relPath=..., hlEntry=0x5555568317d8, kind=LayoutNavEntry::MainPage, highlightParent=false, highlightSearch=false)
    at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/htmlgen.cpp:2788
#2  0x0000555555725bc6 in renderQuickLinksAsTabs (t=..., relPath=..., hlEntry=0x555556849210, kind=LayoutNavEntry::MainPage, highlightParent=false, highlightSearch=false)
    at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/htmlgen.cpp:2788
#3  0x000055555574b90c in OutputList::foreach<HighlightedItem, QCString const&, HighlightedItem&, QCString const&> (this=0x555556838030,
    methodPtr=&virtual OutputGenIntf::writeQuickLinks(HighlightedItem, QCString const&)) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/outputlist.h:764
#4  OutputList::writeQuickLinks (this=0x555556838030, hli=HighlightedItem::Main, file=...) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/outputlist.h:614
#5  writeIndex (ol=...) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/index.cpp:4770
#6  0x0000555555750133 in writeIndexHierarchyEntries (ol=..., entries=...) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/index.cpp:5096
#7  0x000055555569ba88 in writeIndexHierarchy (ol=...) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/index.cpp:5593
#8  generateOutput () at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/doxygen.cpp:13244
#9  0x00005555556029cd in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/doxygen/doxygen-Release_1_13_0/src/main.cpp:38

Additional context

loqs tried to doxygen between Release_1_12_0 and Release_1_13_0 and found this commit to be problematic: 0019111

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions