Hi Philippe, Congratulations ! This is really very good news. As far as I understand your analysis, some of the ROOT facilities (you mention gROOT->LoadClass) are not protected for multi-thread. Could the problem of the infinite loop after .q when a TBrowser had been opened also be related to a somewhat similar 'disease' ? Also this problem is only seen on windows (as far as I can check mainly/only on win98). Cheers, Nick. -- Dr. Nick van Eijndhoven mailto:nick@phys.uu.nl http://www.phys.uu.nl/~nick -------------------------------------------------------------------------- Org.: Utrecht University, Faculty of Physics and Astronomy Address: Princetonplein 5, NL-3584 CC Utrecht, The Netherlands Phone: +31-30-2532331(direct) +31-30-2531492(secr.) Fax: +31-30-2518689 CERN: +41-22-7679751(direct) +41-22-7675857(secr.) Fax: +41-22-7679480 Offices: Buys Ballot laboratory Room 710 (Utrecht) B23 1-020 (CERN) -------------------------------------------------------------------------- Philippe Canal wrote: > > Hi, > > I understood (and fixed) the problems on Window 98, XP, 2000 where ROOT > was mysteriously, randomly crashing or giving error messages like 'this > "text file name" is a binary file' or other weird behaviors. > > This problem was only appearing at startup time and only on Windows. > > The code will be fixed shortly in the CVS repository. > > Cheers, > Philippe > > And now for the gory details > > In the constructor of TRint::TRint we had: > > ProcessLine("#include <RtypesCint.h>"); > > gROOT->LoadClass("TGeometry", "Graf3d"); > gROOT->LoadClass("TTree", "Tree"); > .... > ProcessLine(Form(".L %s",logon),kTRUE); > > The problem comes from the fact that on Windows ProcessLine has the > execution of its CINT part delayed (1st problem) while gROOT->LoadClass > has the execution of its CINT part done immediately (and not protected > for multi-thread). > > Both the calls are asking CINT to load a file and in this case, > __sometimes__ the loading of RtypesCint.h is happening __while__ loading > the libraries thus over-writing (randomly) part of one of the loading. > > The problem did indeed worsen since ROOT 3.03/07 with the introduction > of the first ProcessLine.
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:16 MET