I used profile histograms in my program. I have the underflow status bit of the fpu enabled. When I use “my profile histogram”->Draw() followed by “my profile histogram”->Fit() (in the same pad), I get underflow and consequently abnormal termination.
I experimented with fit2d routine from the tutorials, and got the same behaviour.
Commenting out the Draw() statement helps, but it’s still strange. Does anybody know what is wrong?
I am using version 5.14, linux, gcc version 3.2.3 (on the server) and/or gcc version 4.3.1 (on my computer)
I cannot reproduce this problem with tutorial fit2d.
Could you post a small script with a small file with your profile histogram?
Do you need the sequence Draw, then Fit to reproduce the problem? or only Draw or only Fit?
Yes, one needs the Draw() and then Fit() sequence. Redundant as it seems, shouldn’t cause problems.
clas_enable_fp_trap.h (166 Bytes)
clas_enable_fp_trap.c (2.13 KB)
fit2d.C (1.42 KB)
Still I cannot reproduce the problem with your modified version of fit2d.
I tried both 5.14 on SLC4/gcc3.4 and gcc4.3 in 32 and 64 bits mode.
By the way, how can you run 5.14 under gcc4.3? This version could not be compiled with this compiler.
Did you install yourself from source? Did you specify some exotic compilation options?
Interestingly enough, I tried and could not reproduce it on our linux server either.
This leaves the open question about my big program, because of which I started these experiments, and which crashes on both linux servers and my PC. After I commented out Draw() statements in front of Fit() for TProfile, it went through ok, but crashed for a different input .root file (at a Fit statement for TH1D). This happens when the fpu bits are enabled.
Today I tried running it on a solaris server with 5.08 version of Root, it didn’t have a problem. Kind of success.
Answering your other questions: I did install it from source. It was a while ago, I could have upgraded the compiler since then, not sure. No exotic options, I guess.
This started fairly recently, and I hoped it would go away with new versions, but it stays .
I tried this many times and always get seg. fault on FC7 with root 5.16 - 5.19.2:
- draw any 2d hist by double-clicking on it in root browser ( hist is in a root file of course)
- using right-mouse menu create a profile of the hist
- refresh browser window, see new profile histogram, double-click on it to draw it
- using right-mouse menu open fit-panel on profile hist.
- fit to polynomial
I guess, from previous note, that somewhere after root 5.08 , drawing histogram somehow started to screw things up…
but if I want to do all in GUI, I have to draw it first …
I cannot reproduce this problem. Which version of the gcc compiler are you using?
Could you give a very precise scenario to follow to reproduce this problem?
FC7, intel quad-core 2.4GH, intel dp35dp
gcc (GCC) 4.1.2 20070925 (Red Hat 4.1.2-27)
root: svn Checked out revision 23801.
./configure linuxx8664gcc --enable-cern --enable-opengl --enable-table
For more exact steps please see attached screen capture movie.
(slow motion better since to get under 2MB I had to be fast )
bugTProfile.avi.zip (1.7 MB)