Re: [ROOT] deletion of a TProfile object crashes in Win2k.

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Jul 08 2003 - 22:01:02 MEST


Hi Ed,

A problem difficult to investigate.

Could you try with the CVS head, or if you prefer with the corresponding
tar file at ftp://root.cern.ch/root/root_v3.05.05a.source.tar.gz

Rene Brun

On 
Tue, 8 Jul 2003, Ed Oltman wrote:

> Hello,
> 
> I have a dll built with win32 root version 3.05/5 that opens and processes
> several root file in sequence.  The root file contains an object containing
> a TProfile
> member:
> 
>  TProfile *fVoltProf;
> 
> This object is read from an input  with objects (costumized)  Streamer():
> 
> 	R__b >> fVoltProfile; if (fVoltProfile)
> fVoltProfile->SetDirectory(0)
> 
> When the second file is opened, this object's dtor is called.  The following
> line causes a crash (access violation) when the member's 
> fFunction->Delete() is called  in TH1::~TH1():
> 
>   delete fVoltProfile;
> 
> fVoltProfile->fFunctions has two items: The first is a TF1 object that is
> deleted
> just fine.  The second is a TPaveStats and thats what causes the crash.  The
> stack is shown starting from when my TProfile is deleted...
> 
> 
> 00ff035b()
> TList::Remove(TObject * 0x024755c8) line 551 + 16 bytes
> TCollection::RecursiveRemove(TObject * 0x024755c8) line 283 + 18 bytes
> TPaveStats::~TPaveStats() line 88
> LIBGRAF! TPaveStats::`vector deleting destructor'(unsigned int) + 84 bytes
> TCollection::GarbageCollect(TObject * 0x024755c8) line 415 + 31 bytes
> TList::Delete(const char * 0x00ba4f3c) line 386 + 14 bytes 
> TH1::~TH1() line 472 
> TH1D::~TH1D() line 6068 + 50 bytes
> TProfile::~TProfile() line 78 + 29 bytes
> LIBHIST! TProfile::`vector deleting destructor'(unsigned int) + 84 bytes
> CVoltage::~CVoltage() line 40 + 45 bytes <-- This is where delete
> fVoltProfile occurs
> 
> Note 0: I am running on Win2k
> 
> Note 1: this crash only occurs when I run my dll in the debugger.  The crash
> only occurs
> when I debug the DLL from visual v++6.  If I simply run the debug version,
> it does not
> crash.
> 
> Note 2:  I build the root libraries using cygwin+make+visual c++ 6 so that I
> don't rely
> on the .net libraries.  I used the sources from root_v3.05.05.source.tar.gz
> on root
> website.
> 
> Any help on this problem would be greatly appreciated - thank you..
> 
> Ed Oltman
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET