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