If possible send me (privately) information on how to log into your MacOS machine and reproduce the problem!
Philippe
If possible send me (privately) information on how to log into your MacOS machine and reproduce the problem!
Philippe
Dear Philippe
Thank you very much for your efforts, I appreciate it very much. Sorrowly, it is
not possible to login to my Mac, as I will explain in a separate mail.
Meanwhile I have made some observations:
1, TClass:
When I delete line 2540 of TClass.cxx, i.e. “delete fIsA; fIsA = 0;” in method
TClass::SetUnload(), then my example works w/o any problem.
2, MyClassADict:
Since the crash reporter reports a crash at:
#0 0x007bc03c in G__MyClassADictLN_TString (G__MyClassADictLN_TString + 0)
I have checked the file MyClassADict.cxx and found the following code:
static void G__setup_memvarMyClassA(void) {
G__tag_memvar_setup(G__get_linked_tagnum(&G__MyClassADictLN_MyClassA));
{ MyClassA *p; p=(MyClassA*)0x1000; if (p) { }
G__memvar_setup((void*)NULL,117,0,0,G__get_linked_tagnum(&G__MyClassADictLN_TString),-1,-1,4,"fString=",0,(char*)NULL);
G__memvar_setup((void*)NULL,85,0,0,G__get_linked_tagnum(&G__MyClassADictLN_TClass),-1,-2,4,"fgIsA=",0,(char*)NULL);
}
G__tag_memvar_reset();
}
Could it be that variable fgIsA does not exist?
At least, TClass has only the variables fIsA and fGlobalIsA.
Enclosed I am attaching the complete files MyClassADict.h and MyClassADict.cxx.
Maybe they give you a hint?
Best regards
Christian
MyClassADict.cxx (22.6 KB)
MyClassADict.h (1.74 KB)
Hi,
I am still not convinced that the build is done right.
The debugger says:
root [1] Init()
Reading symbols for shared libraries bfd_mach_o_scan_read_symtab_symbol: unable to read 12 bytes at 417104
I do NOT get this error. Note that at this point the line that you
removed from TClass can not have been executed and thus could not
be making a difference!
Then the debugger says:
Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.
0x002bff20 in ZN8MyClassAC1Ev.eh ()
(gdb) Test()
Undefined command: "Test". Try "help".
(gdb) where
#0 0x002bff20 in ZN8MyClassAC1Ev.eh ()
#1 0x00277f8c in ROOT::GenerateInitInstance(MyClassA const*) ()
The code GenerateInitInstance never call the object constructor (ZN8MyClassAC1Ev.eh … seems like the symbol for MyClassA::MyClassA) so this is weird (and when I step through GenerateInitInstance it indeed does call any MyClassA function).
So my guess is that you ROOTSYS, PATH, LD_LIBRARY_PATH and DYLD_LIBRARY_PATH do not all agree on the same ROOT version …
Philippe.
Maybe this is the solution. Until now I have only the following settings in my .xinitrc file:
export MACOSX_DEPLOYMENT_TARGET=10.3
export TMPDIR=/Users/rabbitus/temp
export ROOTSYS=/Users/rabbitus/ROOT/root
export DYLD_LIBRARY_PATH=$ROOTSYS/lib
export PATH=$ROOTSYS/bin:$PATH
I have just added the line:
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
I suppose that I have to build root from scratch after exporting the variables. I will keep you informed.
However, if this is the reason then I am wondering why I did not experience any problem until now.
Best regards
Christian
Hi Christian,
You should just have to rebuild your example.
Also the most important is to check those variable before doing the gmake and the run.
Philippe.
Sorrowly, this did not help.
Here is the output of printenv:
MANPATH=/sw/share/man:/usr/share/man:/usr/X11R6/man
TERM_PROGRAM=Apple_Terminal
TERM=xterm-color
SHELL=/bin/bash
PERL5LIB=/sw/lib/perl5
TERM_PROGRAM_VERSION=100
OLDPWD=/Users/rabbitus
SGML_CATALOG_FILES=/sw/etc/sgml/catalog
USER=rabbitus
LD_LIBRARY_PATH=/Users/rabbitus/ROOT/root/lib:
__CF_USER_TEXT_ENCODING=0x1F7:0:0
PATH=/Users/rabbitus/ROOT/root/bin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
XML_CATALOG_FILES=/sw/etc/xml/catalog
PWD=/Users/rabbitus/ROOT/root
LD_PREBIND_ALLOW_OVERLAP=1
ROOTSYS=/Users/rabbitus/ROOT/root
SHLVL=1
HOME=/Users/rabbitus
LD_PREBIND=1
DYLD_LIBRARY_PATH=/Users/rabbitus/ROOT/root/lib
LD_SEG_ADDR_TABLE=/sw/var/lib/fink/prebound/seg_addr_table
LOGNAME=rabbitus
INFOPATH=/sw/share/info:/sw/info:/usr/share/info
SECURITYSESSIONID=20df10
_=/usr/bin/printenv
Best regards
Christian
Hi Christian,
The next thing to undersand would to know (or fix) why gdb complains:
root [1] Init()
Reading symbols for shared libraries bfd_mach_o_scan_read_symtab_symbol: unable to read 12 bytes at 417104
However I have no clue how to proceed
Philippe.
Dear Philippe
Tomorrow I will download the new cvs version from root and compile from scratch. I will inform you.
I have no idea either but I found that the code for the statement is in:
opensource.apple.com/darwins … d/mach-o.c
Thank you for your efforts
Christian
Christian,
Independently of your problem for which I cannot help, it looks like you have another serious problem on your computer. One week ago, you said that it takes more than 2 hours to install ROOT. A few days ago, you said that
it takes now more than 3 hours!!
On a normal laptop (Linux or Windows), you should be able to install
ROOT in less than 30’, even less than 15’ on new laptops.
Even on very old obsolete machines, purchased many years ago, it takes less than one hour for the installation.
You must have something very strange in your configuration.
How many rootmarks to you obtain when running
root -b -q benchmarks.C
or in $ROOTSYS/test
stress -b 30
in particular, I am interested by both the Real and Cpu time for these
two benchmarks.
Rene
Dear Rene
I would appreciate to find a way to reduce compile times, however I do not think that something is wrong for the following reason:
On Nov 2004 Fons posted the compile times and rootmarks for a couple of machines in roottalk, see:
root.cern.ch/root/roottalk/roottalk04/3024.html
According to Fons, his Mac G5 2GHz needed 27 min to compile.
At that time my PowerBook G4 550MHz needed about 2 hrs (27 min X 2000/550).
For quite some time I needed 2.5 hrs for compilation and was surprised that 2 days ago it took 3 hrs. I supposed that a lot of classes were added to root?
Here are my results:
1, stress -b 30
******************************************************************
stress : Total I/O = 90.1 Mbytes, I = 71.2, O = 18.9
stress : Compr I/O = 86.4 Mbytes, I = 68.4, O = 18.0
stress : Real Time = 46.57 seconds Cpu Time = 42.52 seconds
******************************************************************
* ROOTMARKS = 179.6 * Root5.01/01 20050615/2155
******************************************************************
2, root -b -q benchmarks.C
root [0]
Processing benchmarks.C...
Processing benchmark: framework.C
Processing benchmark: hsimple.C
hsimple : Real Time = 1.85 seconds Cpu Time = 1.31 seconds
Processing benchmark: hsum.C
hsum : Real Time = 0.79 seconds Cpu Time = 0.72 seconds
Processing benchmark: formula1.C
Object statistics
class cnt on heap size total size heap size
================================================================================
TObject 128 128 12 1536 1536
TNamed 1 1 28 28 28
TList 140 139 44 6160 6116
THashList 3 3 48 144 144
TObjArray 1 1 40 40 40
THashTable 5 4 40 200 160
TPair 52 52 20 1040 1040
TObjString 53 53 20 1060 1060
TObjectTable 1 1 24 24 24
TROOT 1 0 340 340 0
TPluginManager 1 1 16 16 16
TOrdCollection 5 5 44 220 220
TMap 1 0 28 28 0
TEnv 1 1 24 24 24
TUnixSystem 1 1 244 244 244
TClassTable 1 1 12 12 12
TRandom 1 1 32 32 32
--------------------------------------------------------------------------------
Total: 396 392 1016 11148 10696
================================================================================
Processing benchmark: fillrandom.C
fillrandom: Real Time = 1.34 seconds Cpu Time = 1.23 seconds
Processing benchmark: fit1.C
TFile** fillrandom.root
TFile* fillrandom.root
KEY: TFormula form1;1 abs(sin(x)/x)
KEY: TF1 sqroot;1 x*gaus(0)+[3]*form1
KEY: TH1F h1f;1 Test random numbers
sqroot : x*gaus(0)+[3]*form1 Ndim= 1, Npar= 4, Noper= 11
fExpr[0] = x action = 144 action param = 0
fExpr[1] = gaus(0) action = 110 action param = 0
fExpr[2] = * action = 3 action param = 0
fExpr[3] = [3] action = 140 action param = 3
fExpr[4] = x action = 144 action param = 0
fExpr[5] = sin action = 11 action param = 0
fExpr[6] = x action = 144 action param = 0
fExpr[7] = / action = 4 action param = 0
fExpr[8] = abs action = 41 action param = 0
fExpr[9] = * action = 3 action param = 0
fExpr[10] = + action = 1 action param = 0
Optimized expresion
fExpr[0] = x action = 146 action param = 0
fExpr[1] = gaus(0) action = 110 action param = 0
fExpr[2] = * action = 3 action param = 0
fExpr[3] = [3] action = 146 action param = 3
fExpr[4] = x,sin action = 147 action param = 0
fExpr[5] = x action = 146 action param = 0
fExpr[6] = / action = 4 action param = 0
fExpr[7] = abs action = 41 action param = 0
fExpr[8] = * action = 3 action param = 0
fExpr[9] = + action = 1 action param = 0
Par 0 p0 = 10
Par 1 p1 = 4
Par 2 p2 = 1
Par 3 p3 = 20
TH1.Print Name = Func, Entries= 100, Total sum= 1514.36
FCN=191.938 FROM MIGRAD STATUS=CONVERGED 125 CALLS 126 TOTAL
EDM=3.04297e-07 STRATEGY= 1 ERROR MATRIX UNCERTAINTY 2.1 per cent
EXT PARAMETER STEP FIRST
NO. NAME VALUE ERROR SIZE DERIVATIVE
1 p0 3.29813e+01 5.33605e-01 -6.73622e-04 9.77958e-04
2 p1 3.98897e+00 1.76566e-02 -1.60737e-04 6.03749e-02
3 p2 1.00021e+00 1.31769e-02 5.11839e-05 3.08495e-02
4 p3 6.29888e+01 1.32324e+00 3.05003e-04 2.96136e-04
fit1 : Real Time = 0.35 seconds Cpu Time = 0.16 seconds
Processing benchmark: h1draw.C
TFile** hsimple.root Demo ROOT file with histograms
TFile* hsimple.root Demo ROOT file with histograms
KEY: TH1F hpx;1 This is the px distribution
KEY: TH2F hpxpy;1 py vs px
KEY: TProfile hprof;1 Profile of pz versus px
KEY: TNtuple ntuple;1 Demo ntuple
Processing benchmark: graph.C
i 0 0.000000 1.986693
i 1 0.100000 2.955202
i 2 0.200000 3.894183
i 3 0.300000 4.794255
i 4 0.400000 5.646425
i 5 0.500000 6.442177
i 6 0.600000 7.173561
i 7 0.700000 7.833269
i 8 0.800000 8.414710
i 9 0.900000 8.912074
i 10 1.000000 9.320391
i 11 1.100000 9.635582
i 12 1.200000 9.854497
i 13 1.300000 9.974950
i 14 1.400000 9.995736
i 15 1.500000 9.916648
i 16 1.600000 9.738476
i 17 1.700000 9.463001
i 18 1.800000 9.092974
i 19 1.900000 8.632094
Processing benchmark: gerrors.C
Processing benchmark: tornado.C
tornado : Real Time = 0.22 seconds Cpu Time = 0.14 seconds
Processing benchmark: surfaces.C
Processing benchmark: runzdemo.C
Processing benchmark: geometry.C
na49 : Real Time = 6.13 seconds Cpu Time = 5.77 seconds
geometry : Real Time = 0.73 seconds Cpu Time = 0.57 seconds
Processing benchmark: na49view.C
na49view : Real Time = 0.05 seconds Cpu Time = 0.04 seconds
Processing benchmark: na49view.C
na49view : Real Time = 0.15 seconds Cpu Time = 0.11 seconds
Processing benchmark: file.C
Processing benchmark: ntuple1.C
Fitting results:
Parameters:
NO. VALUE ERROR
0 1.564155 0.180511
1 0.010136 0.024397
2 0.876773 0.016145
ntuple1 : Real Time = 2.14 seconds Cpu Time = 1.55 seconds
Processing benchmark: rootmarks.C
---------------ROOT 5.01/01 benchmarks summary--------------------
hsimple : Real Time = 1.85 seconds Cpu Time = 1.31 seconds
hsum : Real Time = 0.79 seconds Cpu Time = 0.72 seconds
fillrandom: Real Time = 1.34 seconds Cpu Time = 1.23 seconds
fit1 : Real Time = 0.35 seconds Cpu Time = 0.16 seconds
tornado : Real Time = 0.22 seconds Cpu Time = 0.14 seconds
na49 : Real Time = 6.13 seconds Cpu Time = 5.77 seconds
geometry : Real Time = 0.73 seconds Cpu Time = 0.57 seconds
na49view : Real Time = 0.15 seconds Cpu Time = 0.11 seconds
ntuple1 : Real Time = 2.14 seconds Cpu Time = 1.55 seconds
TOTAL : Real Time = 13.70 seconds Cpu Time = 11.56 seconds
---------------ROOT 5.01/01 benchmarks summary (in ROOTMARKS)-----
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
hsimple = 94.31 RealMARKS, = 128.24 CpuMARKS
hsum = 121.19 RealMARKS, = 125.00 CpuMARKS
fillrandom = 8.93 RealMARKS, = 4.88 CpuMARKS
fit1 = 68.09 RealMARKS, = 112.50 CpuMARKS
tornado = 134.12 RealMARKS, = 171.43 CpuMARKS
na49 = 136.12 RealMARKS, = 144.54 CpuMARKS
geometry = 156.19 RealMARKS, = 189.47 CpuMARKS
na49view = 120.07 RealMARKS, = 163.64 CpuMARKS
ntuple1 = 81.33 RealMARKS, = 104.52 CpuMARKS
****************************************************
* Your machine is estimated at 158.89 ROOTMARKS *
****************************************************
This is the end of ROOT -- Goodbye
What is your opinion regarding these results?
Best regards
Christian
Christian,
The closest machine and slowest machine at my disposal is my
good old laptop running RH6.1 (P III 600 Mhz).
The machine is rated at 200 rootmarks (stress and benchmarks.C).
The total installation time from scratch for ALL ROOT packages activated and compilation in optimized mode is 49 minutes and 20 seconds.
Rene
Hi Christian and Rene,
just to back up Christians numbers :
On 12" pb 867 Mhz G4 using gcc4.0
stress : Total I/O = 90.1 Mbytes, I = 71.2, O = 18.9
stress : Compr I/O = 86.4 Mbytes, I = 68.4, O = 18.0
stress : Real Time = 33.14 seconds Cpu Time = 28.20 seconds
Indeed build from scratch will take about 2.5 hrs .
The only thing that makes this somewhat tolerable is to have
a faster dual CPU machine, otherwise the Mac as a development
system sucks . My 2 1.42 Ghz G4 machine will deliver around
550 rootmarks per CPU
Eddy
Thanks Eddy for this confirmation.
Probably one more reason why Apple are abandonning the PowerPC
in favour of Intel :
Rene
Maybe some comments:
1, benchmarks.C:
My 550MHz machine is rated as 159 ROOTMARKS. The output says:
For comparison, a Pentium IV 2.4Ghz is benchmarked at 600 ROOTMARKS
If I interpret the results correctly, then the ROOTMARKS on my machine are not so bad?
2, Compilation:
Three hours compilation of root is really bad, otherwise I consider the compilation speed sufficient, even CINT is pretty fast.
3, GUI:
In my opinion it is very important to test a GUI application on a very slow machine in order to see if the GUI is responsive.
Until recently the Java GUI was not very responsive even on a PC with a 2GHz Pentium IV!. For example, there was an annoying delay when clicking on a Menu.
In contrast, the root TGClasses are very responsive on my slow machine. I must congratulate the GUI developers.
Best regards
Christian
P.S.: This weekend I intend to update to Tiger.
Christian,
The rootmarks on your machine are perfectly OK, but the compiler
is extremely slow.
Rene
Dear Philippe
After upgrading to Mac OS X Tiger, my example works now w/o any problems.
However, compiling root for Tiger results in some new problems, as described in my new topic.
Best regards
Christian