Thread: [Doxygen-users] Segfault when using tag files from documentation that has been compiled using tag f
Brought to you by:
dimitri
From: JohnOldman <j.r...@wa...> - 2013-12-20 17:04:39
|
Hi, I've recently switched from doxygen 1.6.1 to 1.8.5 (I have updates my configuration files) and now have the following issue. I am compiling documentation for a project, which I am separating into a number of different components. The project also uses a number of third party libraries. So first I compile the documentation for the third party libraries and create tag files. Then I compile the documentation for the components in the order following dependencies, both reading and writing tag files in the process. For the first component there is no issue. But as soon as I am reading in a tag file that was generated compiling a documentation which in turn uses tag files, I get a segfault. I have tested this many times and have isolated the issue to that. Just to make this clear: Compile documentation for (using tpl for third party libaries and comp for components) tpl1, write tag file OK tpl2, write tag file OK comp1, read tag files for tpl1,tpl2, write tagfile OK comp2, read tag files for tpl1,tpl2,comp1 SEGFAULT The last few lines of output I get from doxygen are Building page list... Search for main page... Computing page relations... Determining the scope of groups... Sorting lists... Freeing entry tree Determining which enums are documented Computing member relations... Building full member lists recursively... Adding members to member groups. Computing member references... Inheriting documentation... Generating disk names... Adding source references... Adding xrefitems... Segmentation fault Does anyone have an idea what I can do about this? Thanks Jan -- View this message in context: http://doxygen.10944.n7.nabble.com/Segfault-when-using-tag-files-from-documentation-that-has-been-compiled-using-tag-files-tp6414.html Sent from the Doxygen - Users mailing list archive at Nabble.com. |
From: JohnOldman <j.r...@wa...> - 2013-12-22 11:31:37
|
UPDATE: I've tried now with a whole bunch of different versions and it seems like the problem first arises as of 1.6.2: 1.6.1 and 1.6.0 work, 1.6.2 and about half a dozen other newer versions I've tried give me the same segfault. Could this be an incompatibility with my distribution? I'm using Scientific Linux 6. -- View this message in context: http://doxygen.10944.n7.nabble.com/Segfault-when-using-tag-files-from-documentation-that-has-been-compiled-using-tag-files-tp6414p6420.html Sent from the Doxygen - Users mailing list archive at Nabble.com. |
From: Dimitri v. H. <do...@gm...> - 2013-12-22 12:11:47
|
On 22 Dec 2013, at 12:31 , JohnOldman <j.r...@wa...> wrote: > UPDATE: > I've tried now with a whole bunch of different versions and it seems like > the problem first arises as of 1.6.2: > 1.6.1 and 1.6.0 work, 1.6.2 and about half a dozen other newer versions I've > tried give me the same segfault. Could this be an incompatibility with my > distribution? I'm using Scientific Linux 6. It is more likely a bug in doxygen introduced in 1.6.2 and triggered by your specific example. Can you grab the latest doxygen source from GitHub and compile it using ./configure --debug and then run it from a debugger and/or from valgrind. That might give an indication where the problem is located. Regards, Dimitri |
From: JohnOldman <j.r...@wa...> - 2013-12-22 12:35:52
|
Dimitri van Heesch-2 wrote > On 22 Dec 2013, at 12:31 , JohnOldman < > j.r.greis@.ac > > wrote: > >> UPDATE: >> I've tried now with a whole bunch of different versions and it seems like >> the problem first arises as of 1.6.2: >> 1.6.1 and 1.6.0 work, 1.6.2 and about half a dozen other newer versions >> I've >> tried give me the same segfault. Could this be an incompatibility with my >> distribution? I'm using Scientific Linux 6. > > It is more likely a bug in doxygen introduced in 1.6.2 and triggered by > your specific example. > Can you grab the latest doxygen source from GitHub and compile it using > ./configure --debug and then run it from a debugger and/or from valgrind. > That might give an indication where the problem is located. > > Regards, > Dimitri Hi Dimitri, Thank you for your quick reply. I ran it with valgrind, here is the valgrind output before and after the output from doxygen: ==25031== Memcheck, a memory error detector ==25031== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al. ==25031== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info ==25031== Command: ./test.sh ==25031== ==25032== ==25032== HEAP SUMMARY: ==25032== in use at exit: 44,907 bytes in 1,004 blocks ==25032== total heap usage: 1,843 allocs, 839 frees, 117,565 bytes allocated ==25032== ==25032== 493 bytes in 1 blocks are definitely lost in loss record 285 of 302 ==25032== at 0x4A06AAA: malloc (vg_replace_malloc.c:291) ==25032== by 0x465E62: xmalloc (in /bin/bash) ==25032== by 0x42F7ED: execute_command_internal (in /bin/bash) ==25032== by 0x432CED: ??? (in /bin/bash) ==25032== by 0x433109: ??? (in /bin/bash) ==25032== by 0x42FE9C: execute_command_internal (in /bin/bash) ==25032== by 0x430BED: execute_command (in /bin/bash) ==25032== by 0x41D535: reader_loop (in /bin/bash) ==25032== by 0x41CCF8: main (in /bin/bash) ==25032== ==25032== LEAK SUMMARY: ==25032== definitely lost: 493 bytes in 1 blocks ==25032== indirectly lost: 0 bytes in 0 blocks ==25032== possibly lost: 0 bytes in 0 blocks ==25032== still reachable: 44,414 bytes in 1,003 blocks ==25032== suppressed: 0 bytes in 0 blocks ==25032== Reachable blocks (those to which a pointer was found) are not shown. ==25032== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==25032== ==25032== For counts of detected and suppressed errors, rerun with: -v ==25032== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4) ==25031== ==25031== HEAP SUMMARY: ==25031== in use at exit: 42,199 bytes in 917 blocks ==25031== total heap usage: 1,155 allocs, 238 frees, 63,414 bytes allocated ==25031== ==25031== LEAK SUMMARY: ==25031== definitely lost: 0 bytes in 0 blocks ==25031== indirectly lost: 0 bytes in 0 blocks ==25031== possibly lost: 0 bytes in 0 blocks ==25031== still reachable: 42,199 bytes in 917 blocks ==25031== suppressed: 0 bytes in 0 blocks ==25031== Reachable blocks (those to which a pointer was found) are not shown. ==25031== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==25031== ==25031== For counts of detected and suppressed errors, rerun with: -v ==25031== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4) I hope this is what you meant, I am still relatively new to Linux... -- View this message in context: http://doxygen.10944.n7.nabble.com/Segfault-when-using-tag-files-from-documentation-that-has-been-compiled-using-tag-files-tp6414p6423.html Sent from the Doxygen - Users mailing list archive at Nabble.com. |