-
Notifications
You must be signed in to change notification settings - Fork 269
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
Doxygen segfaults on ign-gazebo6 and ign-gazebo7 #1409
Comments
Our doc upload jobs have been passing for https://github.com/ignitionrobotics/docs/runs/5671770965?check_suite_focus=true |
I've been looking into the problem. Some findings: gdb run: 0x00005580dc0647ec in toDefinitionMutable (d=0x5580e1e7c410) at ./src/definition.cpp:2209
2209 ./src/definition.cpp: No such file or directory.
(gdb) bt
#0 0x00005580dc0647ec in toDefinitionMutable (d=0x5580e1e7c410) at ./src/definition.cpp:2209
#1 0x00005580dbc0e67f in buildNamespaceList (root=0x5580df972780) at ./src/doxygen.cpp:1644
#2 0x00005580dbc0e0aa in buildNamespaceList (root=<optimized out>) at ./src/doxygen.cpp:1685
#3 0x00005580dbc0e0aa in buildNamespaceList (root=<optimized out>) at ./src/doxygen.cpp:1685
#4 0x00005580dbc0e0aa in buildNamespaceList (root=<optimized out>) at ./src/doxygen.cpp:1685
#5 0x00005580dbc0e0aa in buildNamespaceList (root=<optimized out>) at ./src/doxygen.cpp:1685
#6 0x00005580dbc0e0aa in buildNamespaceList (root=<optimized out>) at ./src/doxygen.cpp:1685
#7 0x00005580dbc3c1bb in parseInput () at /usr/include/c++/11/bits/shared_ptr_base.h:1295
#8 0x00005580dbbdc1fe in main (argc=2, argv=0x7ffec49eb288) at ./src/main.cpp:37 gdb breakpoints and inspections: Breakpoint 9, toDefinitionMutable (d=0x56336968dbd8) at ./src/definition.cpp:2209
2209 in ./src/definition.cpp
(gdb) print d->getReference()
$33 = {m_rep = ""}
(gdb) print d->displayName(TRUE)
$34 = {m_rep = "ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::systems"}
(gdb) print d->name()
$35 = {m_rep = "ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::systems"}
(gdb) c
Continuing.
Breakpoint 9, toDefinitionMutable (d=0x56336968dbd8) at ./src/definition.cpp:2209
2209 in ./src/definition.cpp
(gdb) print d->name()
$36 = {m_rep = "ignition::gazebo::IGNITION_GAZEBO_VERSION_NAMESPACE::systems"}
(gdb) c
Continuing.
Breakpoint 9, toDefinitionMutable (d=0x56336b7f6410) at ./src/definition.cpp:2209
2209 in ./src/definition.cpp
(gdb) print d->name()
Cannot access memory at address 0x563608b644c6
...
Program received signal SIGSEGV, Segmentation fault. doxygen -d preprocessor api.dox
Hard for me to know what is exactly going on and where. The good news is that using doxygen 1.9.3 statically linked from the doxygen page does not suffer from the problem and works just fine. Unless someone want to spend a bit more of time looking for a workaround in the comments affecting doxygen, I feel like we should workaround the problem by using a newer version of doxygen or not using it at all. |
+1 for forcing a newer version if it solves the issue. We're using doxygen to generate our docs here: https://github.com/ignitionrobotics/docs/blob/master/tools/build_docs.sh And to run linters here: |
* Support for Jammy * Can not run doxygen successfully See gazebosim/gz-sim#1409
It looks like the problem is with Line 242 in f39bc25
I suspect this happens because Jammy uses a newer version of doxygen. I started updating the doxygen file from Bionic to Focal in Interestingly, |
Here's the fix: Only after opening the PR I noticed that the fix had already been mentioned in Doxygen's newer versions are really sensitive to those inline namespaces |
Environment
https://build.osrfoundation.org/job/ign-gazebo7-debbuilder/271/console
Description
While building packages, the building job in build.osrfoundation.org was unable to run doxygen properly. It always failed with a segfault. The cause could be a huge consumption of memory or other problem with doxygen internals. There are warnings about deprecated behaviour that probably need to be addressed in ign-cmake.
The text was updated successfully, but these errors were encountered: