Re: illegal instruction when quitting root

Rene Brun (brun@hpbrun.cern.ch)
Wed, 26 Aug 1998 22:03:55 +0200 (METDST)


Mike,
Could you give me a bit more information?
Send me the output of the following commands:
TFile f("yourfile.root");
f.ls();
ItemMap *map = (ItemMap*)f.Get("itemmap_name");
map->Dump();
gObjectTable->Print();

Rene Brun

On Wed, 26 Aug 1998 meb@gorby.dataventures.com wrote:

> Dear Roottalk,
>
> I have a user class (ItemMap) that is derived from the root class
> TNamed. I have one annoying problem that I can't fix. I have tried to
> follow the philosopy that 1) default contructors do not allocate
> memory, and 2) the destructor is protected in cases where only the
> default contructor was called. This hasn't helped.
>
> Example: If I use an ItemMap stored in a root file, I can't quit root
> without causing a "*** Break *** illegal instruction" UNLESS I do
> either III.a or III.b below:
>
> I. open a rootfile with an ItemMap
> II. use the ItemMap
> III.
> {
> a. delete the ItemMap object in memory, or
> b. close the rootfile
> }
> IV. quit root
>
> I think that it has something to do with TNamed (previously my ItemMap
> was derived from TObject). Any hints?
>
> - Mike Beddo
>
>