Hi Ranpal, This is unfortunately a CINT problem when an object is created inside an if block, itself in a loop. The solution is to change your code as shown below. I hope that Masa will fix this problem in a coming version of CINT. Rene Brun On Mon, 8 Apr 2002, Ranpal Singh Dosanjh wrote: > Dear rooters, > > I have a bizarre segmentation fault which I am trying to understand, and > I hope someone can help me. I've reduced the problem to the following > macro: > > { > gROOT->Reset(); > > Int_t i=1; > Int_t n = 3; > Int_t mask[n]={0,0,1}; > TString hello; > for (i=0;i<n;i++) { > if (mask[i]) { > hello = "hello"; > cout << hello << endl; > } > } > > } > > This results in a segmentation fault. However, if mask is, say, {1,0,1}, > then there is no segmentation fault, and the macro behaves as expected. > In fact, the only configuration of mask elements for which a segmentation > fault occurs is zero in the first element and at least one non-zero > element. > > I'm running root 3.02/07 on Linux, if it makes a difference. > > Thanks, > > Ranpal >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET