-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Divisions by zero and other FPE #6344
Comments
Your comment is very valid. In the particular case you mentioned that would mean your TPaveLabel has wh ot ww = 0 ? so it won't be really useful. But I agree It should not crash. By chance do you have a simple reproducer ? |
Hi @couet ,
Yes. But the size is set during the execution of GUI.
Simple -- no. But in a scope of elimination of this issue I can provide an access to a private github repository with these codes. Best regards, Andrii |
Well, I guess I can create a TPaveLabel with X2 = Y1 = 0; |
Hi @couet , OK. In TPad the problem is a bit more elaborated. Best regards, Andrii |
Ok, cannot reproduce it with a simple TPaveLabel:
|
Yes a reproducer with TPad would help me. |
The way to run:
Then just move some of the internal pads. Best regards, Andrii |
Sorry, but where is the source code ? |
Hi @couet , I've send an invitation to you yesterday. But it is in pending state now. "Awaiting couet’s response ". Andrii |
ok done ... thanks |
gives me:
So it does not build. |
Hi @couet , what is the error? What is the build system ? There is CI with CentOS7 and CentOS8 and these work fine. Best regards, |
I am on MacOS.
|
Hi @couet , zevis was never even compiled on mac. Best regards, Andrii |
No problem. We can continue to work on this issue once it will compile on Mac. |
Hi @couet , OK. that took a bit more than couple hours.
Best regards, |
I just did a git pull to get the latest version.
|
Hi @couet , That is very strange, as the file clealy exists in the include directory in the repository. The CI on mac also compiles the code. Best regards, Andrii |
I did a fresh
|
OK, I see. The current CMakeLists.txt works only with in source builds. In source build should work. Will fix it meanwhile. |
Out of source build is in master and CI. |
I did an git pull. It seems to work better |
I still get an error:
|
Hi @couet , I see. As a workaround I've put the TCanvasImp.h in the ZCanvas.cxx. Best regards, Andrii |
It compiles now. But I get may warnings. Are you interested ? |
Yes, sure! Best regards, |
I get something different now:
and it blocks at that point. Nothing happens ... It I need to hit CRTL-C |
Ok. I have
I will try to find darwin19 in house, but I'm not sure we have it. Andrii |
Ok.
|
That looks like there are divisions by zero in the TColor class. But I'm not sure why these are not present on Linux. |
What is the "home folder" ? can you be more precise ? it do not see such files in the top of the the GitHub repo nor in the build folder. |
"home folder" -- $HOME. /Users/couet , I suspect. |
The files could be created during the execution of zevis. |
Hi @couet , I can reproduce the FPE in a standalone short code. Just send the code to you by mail. Best regards, |
I do not have such files in |
I got you file colour.cxx... How to use it ? |
On Mac
on Linux with gcc
|
I see the crash. I investigate. |
Actually not ... I had a mismatch with the new Xcode. I have reinstalled ROOT. And now your program does not crash. |
There is no Xcode12 binaries here https://root.cern.ch/releases/release-62202/ so I cannot test that quick. Meanwhile, is that is not possible run zevis on specific mac, maybe you have linux around? Best regards, |
I can try a linux machine........ It would be easier for me to be able to run it on my Mac though ... |
That is my final goal as well. But it looks it makes sense to chop this issue into smaller pieces which can be reproduced easier. Best regards, |
Hi @couet , In the end the crashes observed in three classes, so the relevant issues are Hopefully this will make it easier to deal with them. Why these cannot be reproduced on Mac might be a bug on its own. Best regards, Andrii |
I am now installing root on ubuntu to try your codes. |
Which ubuntu version do you plan to use? Andrii |
|
Hi @couet , are there chances to have some fixes for #6373 #6374 #6375 #6379 in the next (patch) releases?
Best regards, Andrii |
I hope so. Sorry but I was busy with an other issue (axis labels on TH3) which I guess i fixed now. |
Hi @couet , I'm closing this issue as it has been split into smaller issues and many of these are already solved. Best regards and many thanks, Andrii |
Hi all,
recently I've tried to recompile an older code with ROOT GUI and to debug some crashes.
I've found that in many places the crashes occurred not in the code, but in the ROOT.
More specifically in the GUI library graf2d.
The backtrace looks typically like this
I was able to trace the problem to the math operations performed in the TPad.cxx and TPavelabel.cxx and it looks in many cases there are simply divisions by zero.
e.g. in TPaveLabel.cxx instead of
One can have
In the TPad.cxx there are many unsafe operations in the TPad::ExecuteEvent and TPad::Resize, e.g.
Would someone from developers be interested to look there ?
Best regards,
Andrii
The text was updated successfully, but these errors were encountered: