Re: Storage exhausted reading tree

Valeri Faine (fine@rsgi01.rhic.bnl.gov)
Thu, 1 Jan 1998 17:20:59 -0500 (EST)


On Wed, 31 Dec 1997, David F. Nitz wrote:

> Date: Wed, 31 Dec 1997 14:53:08 -0500 (EST)
> From: David F. Nitz <dfnitz@umich.edu>
> To: roottalk@hpsalo.cern.ch
> Subject: Storage exhausted reading tree
>
> I've created an TTree containing 980 events, written to a TFile using
> a batch program. When I try to read the tree back using an interactive
> program based on "Eventa", I get an error message after reading 184
> events:
> ---
> Entering TshowerEvent Destructor
>
> Entering TShowrEvent::Clear()
>
> Fatal in <operator new>: storage exhausted
> aborting
> Warning in <TClass::TClass>: no dictionary for class TWinNTSystem available
> Warning in <TWinNTSystem::StackTrace>: this method must be overridden!
>
> abnormal program termination
> ---

Usually this means the program had deleted some object twice
or applied the pointer to non-existen object somehow.

For example the statement "f= 0;" was missed in your program
or there is not protection "if (f) " calling f->Method as the fourth line
presents:

1. TObject *f;
2. delete f;
3. f = 0;
4. if (f) f->Method();

I suspect you should check your TShowerEvent::Clear() method first.

Valery.