Hello,
I'm writing a program that uses the TFile class to write out some
histograms and other ROOT objects. My program goes something like this:
TFile outputFile("output.root", "recreate");
// All my code
outputFile.Write();
outputFile.Close();
However, I get a segmentation fault when I try to close the file. I
traced the fault to the statement surrounded by asterisks below in
TFile.cxx (I included the rest for context):
// Delete free segments from free list (but don't delete list header)
if (fFree) {
fFree->Delete();
}
if (IsOpen()) {
SysClose(fD);
fD = -1;
}
fWritable = kFALSE;
if (cursav)
cursav->cd();
else {
gFile = 0;
*** gDirectory = gROOT; ***
}
When it reaches this statement, it tells me the problem is with this
line from Class TIter in TCollection.h:
TIter(const TCollection *col, Bool_t dir = kIterForward)
: fIterator(col ? col->MakeIterator(dir) : 0) { }
Any ideas?
Thanks!
Joe
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:02 MET