Hi Dimitris,
Just picking one from your list:
Graph->Fit(..)
If you look in TGraph.cxx, you see that a lot is going on and among others
quite a few "new" statements.
For example:
>
> //*-*- Store fitted function in histogram functions list and draw
> if (!fitOption.Nostore) {
> if (!fFunctions) fFunctions = new TList;
> if (!fitOption.Plus) {
> TIter next(fFunctions, kIterBackward);
> TObject *obj;
> while ((obj = next())) {
> if (obj->InheritsFrom(TF1::Class())) delete obj;
> }
> }
> fnew1 = new TF1();
> grF1->Copy(*fnew1);
> fFunctions->Add(fnew1);
> fnew1->SetParent(this);
> fnew1->Save(xmin,xmax);
> if (fitOption.Nograph) fnew1->SetBit(TF1::kNotDraw);
>
> if (TestBit(kCanDelete)) return;
> if (gPad) gPad->Modified();
> }
>
So with the right option, you will store each fitted function (TF! object)
in a function list, expalining part of the new allocated memory.
I bet that a lot of the other memory can be explained along the same lines
> > X-Authentication-Warning: pcroot.cern.ch: majordomo set sender to owner-roottalk@root.cern.ch
using
> -f
> > From: "Dr. D. Sideris" <d.sideris@ic.ac.uk>
> > To: <roottalk@pcroot.cern.ch>
> > Subject: [ROOT] Memory Leaks
> > Date: Wed, 4 Apr 2001 20:42:09 +0100
> > Mime-Version: 1.0
> > X-Priority: 3
> > X-Msmail-Priority: Normal
> > X-Mimeole: Produced By Microsoft MimeOLE V5.00.2314.1300
> > X-Filter-Version: 1.3 (wren)
> >
> > Dear Rooters,
> >
> > I am trying to tie down an application which is written in VC++6 using ROOT and MFC in win NT. I
> seem to be getting memory leaks in many operations which are associated with canvases. I step
through
> each command in the program with the debugger and watch whether there is an increase in the size of
> the program that is not reversed when a given process is finished. As an example I open a small
> canvas with one pad I create a TGraph object with a small array of points and then I perform a fit
to
> those points. The I plot the results. Below are commands which take memory and never return it:
> >
> > TPaveLabel *pave = new .... -> 4k
> >
> > Graph->GetXaxis()->SetTitle.... -> 200k
> >
> > Graph->Fit(...) -> 348k
> >
> > canvas->update -> 100k
> >
> >
> > I'm not hasty to hold root responsible for those leaks, because sometimes there are other
> inconsitencies in the coding which cause indirectly innocent calls to leak. However because my
> application doesn't seem to leak anywhere else appart from the neighbourhood of canvases, that
> narrows it down. If someone has any good advise I'd be gratefull.
> >
> >
> > Regards
> >
> > Dimitris
> >
> > P.S. I use root version 2.25/03
>
Eddy A.J.M. Offermann
Renaissance Technologies Corp.
Route 25A, East Setauket NY 11733
e-mail: eddy@rentec.com
http://www.rentec.com
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:41 MET