[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linrad] Re: Memory leakage.



Hi Leif,
On Tuesday 18 April 2006 17:34, Leif Asbrink wrote:
> Hello Richard,
>
> > Lost memory is allocated when an object in C++ is created , but not
> > released when the object is destroyed. This is usually performed by the
> > destructor for the class if the class has been written properly.
>
> ???????????????
> I have seen similar text before, but it does not tell me anything
> at all. I have for example this problem. Only four simple statements:
>
> xdis = XOpenDisplay(":0");
> cross_cursor = XCreateFontCursor(xdis, XC_diamond_cross);
> XFreeCursor(xdis, cross_cursor);
> XCloseDisplay(xdis);
> return 0;
>
> If I comment out the second and the third statement all is ok,
> but with both of them in place I get this report from valgrind:
> ==9031== LEAK SUMMARY:
> ==9031==    definitely lost: 8 bytes in 1 blocks.
> ==9031==    indirectly lost: 104 bytes in 4 blocks.
>
> > This results in increasing useless RAM utilization and eventually disk
> > swapping, slowing everything down.
>
> How can I detect whether it happened?
>
> > (hope I am not telling you things you already know.. :)  )
>
> You told things I kind of heard about but that I do not
> understand how to deal with. Did I make a mistake in the
> example above or is X11 not quite ok yet? Do you know?
> Using pthreads is much worse..............

One of the limitations of Valgrind is that it is unable to handle highly 
optimized code. This is probably the case with X11.

IBM sells a product called Purify ( with trial version, see 
http://www-306.ibm.com/software/awdtools/purify/ ) that is doing 
non-intrusive memory leak and memory corruption detection on Windows and  on 
Linux .

 73,

Pierre / ON5GN



#############################################################
This message is sent to you because you are subscribed to
  the mailing list <linrad@xxxxxxxxxxxxxxxxxxxxx>.
To unsubscribe, E-mail to: <linrad-off@xxxxxxxxxxxxxxxxxxxxx>
To switch to the DIGEST mode, E-mail to <linrad-digest@xxxxxxxxxxxxxxxxxxxxx>
To switch to the INDEX mode, E-mail to <linrad-index@xxxxxxxxxxxxxxxxxxxxx>
Send administrative queries to  <linrad-request@xxxxxxxxxxxxxxxxxxxxx>

LINRADDARNIL