Re: [ROOT] fatal in operator delete

From: cstrato@EUnet.at
Date: Sat Feb 24 2001 - 18:25:02 MET


Dear Renate

Although I am not a root expert, here may be a hint:
I have often experienced the same error message, and in my case I have
found that I get them when I try to fill a tree, but have a dangling pointer

i.e. a pointer that points to a random address.

I hope this helps
Christian
----------------------------------
C.h.r.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
e-mail: cstrato@EUnet.at

Renate Bornheim wrote:

> Dear Rooters,
>
> I work on a root interface for the existing analysis frame of the CLEO
> collaboration and I have a persistent problem with a fatal in operator
> delete. I can't post any code since the interface of several routines
> and is totally dependent on the local structure, sorry.
> It's all C++ with calls to TH1, TNtuple, TDirectory etc in the end to
> produce a root format output instead of hbook.
> I get  " Fatal in <operator delete>: storage area overwritten " when
> cleaning up the internal 'new's in my interface code.
> I checked that I don't do anything like delete xxx; instead of delete []
> xxx or explicit double deletion of one of my objects.
> I also put several printouts in the source code, so I know this message
> doesn't come from any of the destructors in routines like : TBuffer, TH1,
> TDirectory ...
>
> I'd like to know if anybody else experienced this error message??
> .. where? how?  how did you solve it ?
> ANY hint could be helpful !!
> It only shows up on OSF, never appears on SUN !!!!!!
> I work with ROOT 2.25/03 .
>
> What other internal root routines are called during the cleanup phase
> ?  I'd like to see the routine where this fatal is acutally produced in,
> since this might give me a hint what's wrong in my code.
> As far as I could see the error is produced in TStorage via the MEM_DEBUG
> macro ? How can I modify the source code to get a print out telling me
> from which routine the 'delete' error actually comes ??
>
> Interesting enough: I can also produce this error when going through a
> constructor of one of the interface routines during the stage of booking
> all histograms / ntuples in my test program ...that is  long before the
> end and cleanup phase!
> What kind of internal 'delete' in ROOT could be executed at that early
> stage of the program ?
>
> I know it's hard to say anything without seeing the code ... but thanks a
> lot for trying !
>
> Renate Bornheim
>
>   _     _
>  ( )_^_( ) -----------------------------------------*
>   { . . }    Renate Bornheim
>    \ * /     renate@mail.lns.cornell.edu
>   / - - \
>  /       \   Cornell University
> (_}  o  {_)  Wilson Lab
>   |  _  |
>   (_) (_)  _________________________________________*



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:37 MET