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