Hello Rene, Bottom line: ------------------------------------------------------------------------------------------- ROOT doesn't allow to assigned any value to the class pointers but zeros with the class default ctor. ------------------------------------------------------------------------------------------- I've found a reason for one of the crash reported today. This is due a new ROOT I/O schema imposes some new constrain. In this particular case the ctor of TVolumePosition class http://root.cern.ch/root/htmldoc/src/TVolumePosition.cxx.html#TVolumePosition:TVolumePosition contains a statement: if (!fMatrix) fMatrix = TVolume::GetIdentity(); This is to assign a pointer to the static Identity matrix in case it is not provided by the user code.i.e it is a default value !!! and this value is NOT zero. What happens when the object is read by the new ROOT i/o layer. 1. It instantiates TVolumePosition calling its default ctor. As result fMatrix is assigned to the static object pointer "by default". 2. ROOT does apply a "delete" statement to all pointers of the new created object. "Usually" all pointers are still zero and cause no big problem. 3. In this case the pointer fMatrix points to the static stack object. It is NOT zero and "delete" causes the program crash. So the bottom line: ------------------------------------------------------------------------------------------- Default ctor is not allowed to assigned any value to the class pointer but zeros. ------------------------------------------------------------------------------------------- Now the question is it "by design" and my class should be redesigned or the problem could be fixed ? What about Bill Love's TTree troubles I suspect his class has "not right" ctor as well. I'll check this tomorrow. With my best regards, Valeri ----- Dr.Valeri Fine STAR/US Atlas E-mail: fine@bnl.gov Brookhaven National Lab Phone: +1 631 344 7806 Upton, NY 11973-5000 FAX: +1 631 344 4206 USA ----- Original Message ----- From: "Rene Brun" <brun@pcbrun.cern.ch> To: "Valeri Fine" <fine@bnl.gov> Cc: <roottalk@pcroot.cern.ch> Sent: Monday, December 10, 2001 5:03 PM Subject: Re: [ROOT] Re: ROOT] LAST CALL for comments before closing ROOT version 3.02 > Hi > > On Mon, 10 Dec 2001, Valeri Fine wrote: > > > Hello Rene, > > > > > We intend to release Root version 3.02/06 this week. This will be the PRO > > > release. > > > > He have discovered several problems with the last version of ROOT from CVS > > > > 1. We can not read back our files written half year ago (with ROOT 3.00.06) > > We have not had any problem to read them with ROOT versions 3.02.00 / 01 > > Could you be more explicit? I cannot do anything with just this info. > > > > 2. We > can not use TChain to read several TTrees' in row (See Bill Love's report) > > The macro crashes occasionally > > I am waiting from Bill a session where he can reproduce the problem. > > > > 3. We can not read the new files with TVolume objects, > > but we can read the old versions of there files though. > > TVolume has not been modified in version 3.02. > > > > > We are working to understand the reasons of these new problems and will appreciate you > > will wait a little with your release. > > Why are you reporting these problems only now? > > > > Have you any idea what has happened with ROOT i/o recently, that may have affected the > > backward compatibility ? > > So far, you are the only one complaining. If there are other people with > the same experience, please let me know. > > When you encounter an I/O problem, I suggest the following procedure: > Set gDebug=2; before reading or writing. The I/O functions in > TStreamerInfo > will print one line for each data member of a class being read/written. > It also shows the persistent class definition. This should help you > to localize the problem. > > Rene Brun > > > > > > With my regards, Valeri > > ----- > > Dr.Valeri Fine > > STAR/US Atlas E-mail: fine@bnl.gov > > Brookhaven National Lab Phone: +1 631 344 7806 > > Upton, NY 11973-5000 FAX: +1 631 344 4206 > > USA > > > > > > > > >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:11 MET