[ROOT] Need advice with memory and/or buffer-overflow problem?

From: cstrato (cstrato@aon.at)
Date: Fri Dec 19 2003 - 16:58:01 MET


Dear Rooters

I have the following strange problem and do not know how
to find the error:

I have a basic library and a couple of derived libraries,
which define different XManager classes and subclasses.
Using one of the derived libraries I am able to execute
the following macro from within ROOT:

void Normalize(
{
    XNormationManager *manager = new XNormationManager("Manager");

    manager->Initialize("PixType");
    manager->InitSelector("rank", "separate", 4,0,0.3,400,0);
// here I initialize XSelector::fOption = "separate"

    manager->New("test","~/ROOT/rootcode","PixType");
// here I create file = new TFile(name,"CREATE", title)

    manager->OpenData("~/ROOT/rootdata/test.root");

    manager->Select("TestSet","tree1");
// at this point XSelector::fOption is already set to:
// fOption = "CREATE" instead of fOption = "separate"
// when this code is part of a standalone GUI app!

    manager->Select("TestSet","tree2");
    manager->Select("TestSet","tree3");

    manager->Normalize("TestSet");

    delete manager;
}

Please note that this macro has always worked witout any
problems and still runs perfectly fine.

However, now I have developed a GUI application, where
the user can set all parameters graphically, and where
this code is implemented within different  methods of
my class XNormationFrame. In the XMainFrame I have defined:
   static XNormationManager  *sNormManager;
and the subframe calls e.g.
   XMainFrame::sNormManager->Initialize("PixType")
etc.

When I press the button to execute the same commands
as in my macro, then XSelector::fOption, which is
set to "separate" in InitSelector(), is strangley
set to "CREATE" after execution of manager->New()!!

I know that you cannot give me a concrete answer, but
maybe you could tell me:
Does this look like a buffer overflow?
What are the usual errors which result in such an error?
What can be done to track down this error?

Thank you in advance
Best regards
Christian
_._._._._._._._._._._._._._._._
C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
V.i.e.n.n.a       A.u.s.t.r.i.a
_._._._._._._._._._._._._._._._



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET