Fatal in <operator delete>: storage area overwritten

From: William J. Deninger (deninger@uiuc.edu)
Date: Tue Oct 14 1997 - 00:00:51 MEST


Hello,

I have a TObject class called BOOK which creates an TNuple and TFile and
Fills data into the ntuple, but seems to generate a run-time error when
the ntuple fill routine is called too often (exactly 7982 times with
this ntuple regardless of data), it crashes my WinNT root!
.
// code segment
void BOOK::Run()
{
TFile *f = new TFile("d:\\data\\basic.root","RECREATE");
TNtuple *ntuple = new TNtuple("ntuple","data from Unidaq file",
"p_time:nwires:time:chamber:mpx_peak:x:y:isVert");
unsigned int calls = 0;
// big loop over unidaq data
while(unidaq.get_record())
    {
    cout << "record " << unidaq.record() << endl;
    ....
    ....
    // booking ntuple
    for (unsigned int i=0; i<mpx.hit.size_wires; i++)
        {
        calls ++; // bombs Root on 7982 nd call regardless of data.
        ntuple->Fill(mpx.hit.p_time, mpx.hit.size_wires,
              (mpx.hit.wires[i].time_1 + mpx.hit.wires[i].time_2)/2.0,
              mpx.hit.wires[i].wi.Chamber(),
              mpx.hit.wires[i].mpx_peak,
              mpx.hit.wires[i].wi.Wire_x(),
              mpx.hit.wires[i].wi.Wire_y(),
              mpx.hit.wires[i].wi.Iswirevert() );
        }
    }
 f->Write();
}

//
//
root[0] BOOK b;
root[1] b.Run();
record 1
..
..
record 779
record 780
record 781
record 782
Fatal in <operator delete>: storage area overwritten
aborting
Warning in <TClass::TClass>: no dictionary for class TWinNTSystem
available
Warning in <TWinNTSystem::StackTrace>: this method must be overridden!

Any suggestions??

William J. Deninger



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