[ROOT] RE: Severe error in TString,root version

From: Masaharu Goto (MXJ02154@nifty.ne.jp)
Date: Mon Dec 18 2000 - 14:23:55 MET


Hello Rooters,

I found a problem in cint5.14.63 which causes problem with
object deletion.  If you have a function returning an object
and if that object is deleted by Cint interpreter, system
can crash. It seems like this problem can be resolved by 
defining G__ROOT macro when compiling dictionaries.


Fons and Philippe,
Will you add -DG__ROOT for dictionary compilation? 


For users, temporary workaround is to define G__ROOT 
in a common include file somewhere.  You need to recompile
all your dictionary after 5.14.63.


Masaharu Goto



>Date: Thu, 14 Dec 2000 17:37:43 -0600
>From: Philippe Canal <pcanal@fnal.gov>
>Reply-To: pcanal@fnal.gov
>To: rootdev <rootdev@pcroot.cern.ch>
>Subject: RE: Severe error in TString,root version 2.27-final and later. 
(PR#864)
>
>Hi Masa,
>
>This is related to the improved allocation scheme.
>
>In Maurik's case, the temporary object is NOT created
>via the 'operator new' local to the TString dictionary
>BUT is deleted via the G__operator_delete which is 
>local to the dictionary.
>
>Philippe.
>
>> -----Original Message-----
>> From: maurik.holtrop@unh.edu [mailto:maurik.holtrop@unh.edu]
>> Sent: Thursday, December 14, 2000 4:50 PM
>> To: Fons.Rademakers@cern.ch; Rene.Brun@cern.ch;
>> MXJ02154@niftyserve.or.jp; pcanal@fnal.gov
>> Cc: root-bugs@pcroot.cern.ch
>> Subject: Severe error in TString, root version 2.27-final and later.
>> (PR#864)
>> 
>> 
>> Full_Name: Maurik Holtrop
>> Version: 3.00/00 27-final
>> Hardware: Intel PIII
>> OS: Linux Redhat 6.2
>> Severity: major
>> Reproducable: always
>> Submission from: (NULL) (132.177.88.53)
>> 
>> 
>> The following simple code works fine when interpreted, but 
>> crashes root when
>> it is compiled.
>> This was introduced somewhere after 25-final CVS tag. I found it in both
>> 26-final
>> and "LATEST" from CVS.
>> 
>> 
>> Code:-----------------------------------
>> TString Teststr(){
>>   TString out="This is a test string.\n";
>>   return(out);
>> }
>> -----------------------------------------
>> 
>> Output:----------------------------------
>> improv|test>root
>>   *******************************************
>>   *                                         *
>>   *        W E L C O M E  to  R O O T       *
>>   *                                         *
>>   *   Version   3.00/00  14 December 2000   *
>>   *        Maurik's  Development version    *
>>   *                                         *
>>   *  You are welcome to visit our Web site  *
>>   *          http://root.cern.ch            *
>>   *                                         *
>>   *******************************************
>> 
>> FreeType Engine v1.x used to render TrueType fonts.
>> Compiled with thread support.
>> 
>> CINT/ROOT C/C++ Interpreter version 5.14.65, Dec 6 2000
>> Type ? for help. Commands must be C++ statements.
>> Enclose multiple statements between { }.
>> Maurik's ROOT LOGON script....
>> 
>> Loading Color Palettes.
>> root [0] .L Teststr.C++
>> Creating shared library /work/home/maurik/e2run/root/test/./Teststr_C.so
>> root [1] Teststr()
>> 
>>  *** Break *** segmentation violation
>> Root > improv|test>
>> ---------------------------------------------------------------------
>> Configure for root build: -------------------------------------------
>> ./configure linuxegcs  --enable-shared --enable-thread --enable-ttf
>> --enable-opengl --enable-cern --enable-mysql --enable-pythia6 
>> --enable-venus
>> --with-xpm-libdir=/usr/X11R6/lib --with-ttf-incdir=/usr/include/freetype
>> --with-ttf-libdir=/usr/lib --with-ttf-fontdir=/usr/share/fonts/userfonts
>> --with-opengl-incdir=/usr/X11R6/include 
>> --with-opengl-libdir=/usr/X11R6/lib
>> --with-cern-libdir=/usr/local/cern/2000/lib
>> --with-pythia6-libdir=/usr/local/cern/2000/lib
>> --with-venus-libdir=/usr/local/cern/2000/lib
>> 
>> ---------------------------------------------------------------------
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:39 MET