[ROOT] Strange behaviour of gObjectTable...

From: Thomas Bretz (Thomas_Bretz@ph.tum.de)
Date: Fri May 14 2004 - 16:13:33 MEST


Hi,

I found some strange behaviour of gObject Table which I don't understand.
Mayeb somebody can comment on it...

If I do:
TObject::SetObjectStat(1);
{ TList *l = new TList; l->Add(new TNamed); l->SetOwner(); delete l; }
gObjectTable->Print();
everything looks like expected.
If I do:
TObject::SetObjectStat(1);
{TList l; l.Add(new TNamed); l.SetOwner(); } 
gObjectTable->Print();
the TNamed object seems still to remain in memory.
Moreover if I do this twice only a single TNamed objects seems to be there
instead of the expected two.
If I now quit the interpreter I get a lot of warnings like:
Warning in <TObjectTable::Remove>: 0x737746728 not found at 687763

tested with root 3/05.01 on Darwin and 3.05/07 on linux.

Any idea or explanation? (We try to find a memory leak in our shared
object, but gObjectTable returns all objects which should be automatically
deleted with lists as existing...)

 Thomas.



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET