Re: Fatal in <operator new>: storage exhausted

From: Rene Brun (Rene.Brun@cern.ch)
Date: Mon Oct 20 1997 - 09:01:21 MEST


William J Deninger wrote:
> 
> Hello again,
> 
> I've run into another snag and was wondering if anyone out there in root
> land could help.  I've compiled a class which allocates a few arrays of
> Double_t on MS Visual C++ with root and I've started getting the
> following error messages upon class instantiation:
> 
> root [0] CEOM test;
> 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!
> 
> ---> followed by message box "abnormal termination"... etc
> 
> The code constructor looks like:
> CEOM::CEOM()
> {
>  q = 1.60217733e-19;
>  m = 9.1093897e-31;
>  qom = q/m;
>  rpos = new Double_t[20000];
>  zpos = new Double_t[20000];
>  tpos = new Double_t[20000];
> }
> 
> This seems to run find from the CInt command line when typed line by
> line, but crushes root when I have it compiled with the rest root
> classes.  I have 64MB running WintNT with plenty availiable according to
> the tast manager.  And 60k doubles really doesn't amount to any
> significant memory demands anyway.  Any clues?

To investigate this problem, I need your real header file and the
constructor
and DESTRUCTOR code. I have observed these kind of messages when
one attempts to delete an object twice or allocate an array to the same
pointer without deleting first the previous allocation.
Please send these files to me directly, not to the list.

We will be at DESY this week, giving tutorials on ROOT.
Answers to this list might may delayed.

Rene Brun



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:21 MET