[Dcmlib] Amélioration des Memory leaks

Mathieu Malaterre mathieu.malaterre at kitware.com
Tue Nov 16 18:14:03 CET 2004


Benoit Regrain wrote:
> Hi all,
>  
> J'ai fait un peu de ménage dans les fuites mémoires... et les premiers 
> résultats que
> j'ai eu sont pas mal du tout (pour le TestReadWriteReadCompare, taille 
> des fuites divisées par
> 10 environ)
>  
> Il en reste encore semble-t-il avec l'utilisation de gdcmFile (ou 
> gdcmHeader... va savoir)
> Et sinon, et c'est certain, il y en reste beaucoup coté DicomDir. 
> J'essaye de m'en occuper demain,
> sinon ce sera pour lundi à moins que quelqu'un s'en charge entre temps 
> (j'ai ajouté une entrée la
> dessus dans le TODO)
>  
> A demain avec les résultats de valgrind ;)

Benoit,
Ca marche chez toi:

ctest -R TestCopy 

Test project
   1/  1 Testing TestCopyDicom                  ***Exception: SegFault

0% tests passed, 1 tests failed out of 1

The following tests FAILED:
           1 - TestCopyDicom (SEGFAULT)


$ gdbrun /home/malaterre/Creatis/gdcmbin/bin/gdcmTests TestCopyDicom 
                                                  ~/Creatis/gdcmbin
GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host 
libthread_db library "/lib/tls/libthread_db.so.1".

access control disabled, clients can connect from any host
[Thread debugging using libthread_db enabled]
[New Thread -1084935072 (LWP 10835)]
Filename: /home/malaterre/Creatis/gdcmData/CT-MONO2-12-lomb-an2.acr

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1084935072 (LWP 10835)]
0x08c79fd9 in free () from /lib/tls/libc.so.6
(gdb) up
#1  0x03077163 in operator delete(void*) () from /usr/lib/libstdc++.so.5
(gdb)
#2  0x030771bf in operator delete[](void*) () from /usr/lib/libstdc++.so.5
(gdb)
#3  0x00d34dd2 in ~BinEntry (this=0x9bbda38) at 
/home/malaterre/Creatis/gdcm/src/gdcmBinEntry.cxx:63
63            delete[] BinArea;
(gdb) bt
#0  0x08c79fd9 in free () from /lib/tls/libc.so.6
#1  0x03077163 in operator delete(void*) () from /usr/lib/libstdc++.so.5
#2  0x030771bf in operator delete[](void*) () from /usr/lib/libstdc++.so.5
#3  0x00d34dd2 in ~BinEntry (this=0x9bbda38) at 
/home/malaterre/Creatis/gdcm/src/gdcmBinEntry.cxx:63
#4  0x00d5bea6 in ~ElementSet (this=0x9bbcf58) at 
/home/malaterre/Creatis/gdcm/src/gdcmElementSet.cxx:51
#5  0x00d51675 in ~Document (this=0x9bbcf58) at 
/home/malaterre/Creatis/gdcm/src/gdcmDocument.cxx:203
#6  0x00d60f70 in ~Header (this=0x9bbcf58) at 
/home/malaterre/Creatis/gdcm/src/gdcmHeader.cxx:94
#7  0x00d5e258 in ~File (this=0x9bbcf00) at 
/home/malaterre/Creatis/gdcm/src/gdcmFile.cxx:106
#8  0x0806039c in TestCopyDicom(int, char**) () at 
/home/malaterre/Creatis/gdcm/Test/TestCopyDicom.cxx:139
#9  0x08051e73 in main (ac=1, av=0xbfec73a8) at 
/home/malaterre/Creatis/gdcmbin/Test/gdcmTests.cxx:208


Matt





More information about the Dcmlib mailing list