Hi, Rene: Yes I shoud delete graph1 and graph2, but that does not help. Following is what I got (on linux) : [rcas6008] /star/rcf/scratch/aihong/producePar/treetest > gdb `which root4star` GNU gdb 4.17 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... (gdb) run Starting program: /afs/rhic/star/packages/DEV00/.i386_redhat61/bin/root4star ******************************************* * * * W E L C O M E to R O O T * * * * Version 2.24/05 17 June 2000 * * * * You are welcome to visit our Web site * * http://root.cern.ch * * * ******************************************* CINT/ROOT C/C++ Interpreter version 5.14.40, May 21 2000 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. Welcome to the ROOT tutorials Type ".x demos.C" to get a toolbar from which to execute the demos Type ".x demoshelp.C" to see the help window *** Start at Date : 27-Jun-2000 Time : 8:56:9 *** QAInfo:You are using STAR_LEVEL : dev, ROOT_LEVEL : 2.24.05 and node : rcas6008.rcf.bnl.gov root4star [0] .x treetest.C Program received signal SIGSEGV, Segmentation fault. 0x400814b1 in TBuffer::WriteObject (this=0x93ec880, obj=0x0, flag=0) at .i386_redhat61/root/obj/base/src/TBuffer.cxx:2068 2068 Int_t topTKey = (topLevel && strcmp("TKey",obj->ClassName())==0); (gdb) I am completlely stuck, any help will be appreciated. Thanks! Aihong On Tue, 27 Jun 2000, Rene Brun wrote: > Aihong, > I cannot reproduce your problem. > > Note that there is something strange in your loop. > You should either delete graph1 and graph2 in the loop or move > the constructors outside the loop. > > Rene Brun > > Aihong Tang wrote: > > > > Hi, > > > > To simulate a crash recently found in my code, I wrote a simple code > > treetest.C. > > > > The following code runs ok in root 2.23.12 but crashes in root 2.24.05, > > could anybody tell me the reason and how to fix it ? > > > > I saw it on linux machine. > > > > Thanks! > > > > Aihong > > > > void treetest(){ > > Int_t bufSize=32000; > > Int_t splitLevel=0; > > > > TFile* file = new TFile("File.root", "RECREATE"); > > TTree* tree = new TTree("Tree", "A Foo Tree"); > > TObjArray* theArray= 0; > > > > TBranch* br=tree->Branch("tree","TObjArray", &theArray, > > bufSize,splitLevel); > > > > for (Int_t j=0; j < 10; j++){ > > > > theArray=new TObjArray(); > > > > TGraph* graph1 = new TGraph(); > > TH1F* graph2 = new TH1F("foo","foo",0,10,10); > > > > for (Int_t i = 0; i < 10; i++) { > > graph1->SetPoint(i, i, i+1); > > graph2->Fill(i); > > } > > > > theArray->AddLast(graph1); > > theArray->AddLast(graph2); > > > > tree->Fill(); // <========crash here > > } > > > > // tree->Print(); > > tree->Write(); > > file->Close(); > > > > > > } >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:29 MET