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/realloc errors when project's wd has long (nested) abolute path name (Origin: bugzilla #581746) #3379

doxygen opened this Issue Jul 2, 2018 · 0 comments


None yet
1 participant

doxygen commented Jul 2, 2018

status VERIFIED severity critical in component general for ---
Reported in version 1.5.9 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2009-05-07 13:59:31 +0000, Stephan Suerken wrote:

Steps to reproduce:

  1. Copy a project with doxygen to some long (~230 chars) directory name (may be nested):
    cp -a my-project /tmp/very/long/nested/directory/name
  2. Enter the project with the long directory name
  3. doxygen [Doxyfile]

Stack trace:
$ manwe(CHROOT:sid-ui): ~/var/tmp/llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
$ absurd? doxygen Doxyfile
Warning: Tag `DETAILS_AT_TOP' at line 163 of file Doxyfile has become obsolete.
To avoid this warning please update your configuration file using "doxygen -u"
*** glibc detected *** doxygen: realloc(): invalid next size: 0x0000000001932270 ***
======= Backtrace: =========
======= Memory map: ========
00400000-008a8000 r-xp 00000000 fe:00 6147434 /usr/bin/doxygen
00aa7000-00ab4000 rw-p 004a7000 fe:00 6147434 /usr/bin/doxygen
00ab4000-00ae0000 rw-p 00ab4000 00:00 0
01819000-0195d000 rw-p 01819000 00:00 0 [heap]
7f52b8000000-7f52b8021000 rw-p 7f52b8000000 00:00 0
7f52b8021000-7f52bc000000 ---p 7f52b8021000 00:00 0
7f52be9ea000-7f52bedaf000 rw-p 7f52be9ea000 00:00 0
7f52bedaf000-7f52bedc6000 r-xp 00000000 fe:00 4419052 /usr/lib/
7f52bedc6000-7f52befc5000 ---p 00017000 fe:00 4419052 /usr/lib/
7f52befc5000-7f52befc6000 rw-p 00016000 fe:00 4419052 /usr/lib/
7f52befc6000-7f52bf10f000 r-xp 00000000 fe:00 6148232 /lib/
7f52bf10f000-7f52bf30f000 ---p 00149000 fe:00 6148232 /lib/
7f52bf30f000-7f52bf313000 r--p 00149000 fe:00 6148232 /lib/
7f52bf313000-7f52bf314000 rw-p 0014d000 fe:00 6148232 /lib/
7f52bf314000-7f52bf319000 rw-p 7f52bf314000 00:00 0
7f52bf319000-7f52bf32f000 r-xp 00000000 fe:00 6147894 /lib/
7f52bf32f000-7f52bf52e000 ---p 00016000 fe:00 6147894 /lib/
7f52bf52e000-7f52bf52f000 rw-p 00015000 fe:00 6147894 /lib/
7f52bf52f000-7f52bf5b1000 r-xp 00000000 fe:00 6148132 /lib/
7f52bf5b1000-7f52bf7b0000 ---p 00082000 fe:00 6148132 /lib/
7f52bf7b0000-7f52bf7b1000 r--p 00081000 fe:00 6148132 /lib/
7f52bf7b1000-7f52bf7b2000 rw-p 00082000 fe:00 6148132 /lib/
7f52bf7b2000-7f52bf8a3000 r-xp 00000000 fe:00 4418783 /usr/lib/
7f52bf8a3000-7f52bfaa3000 ---p 000f1000 fe:00 4418783 /usr/lib/
7f52bfaa3000-7f52bfaaa000 r--p 000f1000 fe:00 4418783 /usr/lib/
7f52bfaaa000-7f52bfaac000 rw-p 000f8000 fe:00 4418783 /usr/lib/
7f52bfaac000-7f52bfac1000 rw-p 7f52bfaac000 00:00 0
7f52bfac1000-7f52bfae6000 r-xp 00000000 fe:00 4418557 /usr/lib/
7f52bfae6000-7f52bfce5000 ---p 00025000 fe:00 4418557 /usr/lib/
7f52bfce5000-7f52bfce6000 rw-p 00024000 fe:00 4418557 /usr/lib/
7f52bfce6000-7f52bfd03000 r-xp 00000000 fe:00 6148226 /lib/
7f52bfd4e000-7f52bfe90000 r--p 00000000 fe:00 9363459 /usr/lib/locale/locale-archive
7f52bfe90000-7f52bfef6000 rw-p 7f52bfe90000 00:00 0
7f52bfef7000-7f52bfefe000 r--s 00000000 fe:00 7554134 /usr/lib/gconv/gconv-modules.cache
7f52bfefe000-7f52bff02000 rw-p 7f52bfefe000 00:00 0
7f52bff02000-7f52bff03000 r--p 0001c000 fe:00 6148226 /lib/
7f52bff03000-7f52bff04000 rw-p 0001d000 fe:00 6148226 /lib/
7fffc7eef000-7fffc7f04000 rw-p 7ffffffea000 00:00 0 [stack]
7fffc7fff000-7fffc8000000 r-xp 7fffc7fff000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

Other information:
Tested with doxygen 1.5.9 (Debian sid doxygen_1.5.9-1).

It seems that in a project where the abolute pathname + pathname in the project it accesses or writes eventually gets too large (>255?).

Doxygen should at least spit a "pathname too long" error, and not segfault.

Imho, doxygen should just work, as usual fs'es have a file name limitation, but no path name limitation (ext234).

Using SHORT_NAMES and the like does not help in these cases.



On 2009-05-07 14:48:35 +0000, Stephan Suerken wrote:

Created attachment 134197
gdb session with debug doxygen

On 2009-05-07 14:50:53 +0000, Stephan Suerken wrote:

Comment # 1 there is a slightly more helpful backtrace with a doxygen compiled in debug mode, indicating the problem is in QCString::resize.

Hope this helps,


On 2009-05-07 17:40:15 +0000, Dimitri van Heesch wrote:

Thanks for the backtrace,
I think I found the issue. Should be fixed in the next subversion update.

On 2009-05-08 11:53:27 +0000, Stephan Suerken wrote:

Great - thx.

If you add the patch here, or it's in svn (does not seem to be yet), I can re-test if you like.

On 2009-08-20 10:13:14 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.6.0. Please verify if this is indeed the case and reopen the
bug if you think it is not fixed (include any additional information that you
think can be relevant).

On 2009-08-24 10:52:58 +0000, Stephan Suerken wrote:

Hi Dimitri,

I have re-checked my test case against 1.6.0 (Debian package) -- the problem is fixed there.

Hence => verified.



@doxygen doxygen closed this Jul 19, 2018

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