-
-
Notifications
You must be signed in to change notification settings - Fork 60
Build in debug mode on ClangUbsanLinuxBuild #340
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
Conversation
Hummm I have two reservations with this:
|
We can test the fixes if this is merged. Having a buildbot failing for a day or two is not that bad. I will be looking into the failures myself.
This will be superset of release mode. Currently the code is relying on compiler optimizations to avoid UB whereas the code should not relying on any compiler behavior. IMO CPython should not be relying on any compiler optimizations' and the C code should be strictly standard conforming and avoid any UB in any case release, debug or whatever. |
Unfortunately it is that bad. By policy we even revert all changes that break buildbots in 24h hours no matter if they unveiled existing problems or if they are unrelated. We take this very seriously. The way we have done this in the past if fix everything and then change the buildbots. |
How do you know? I think you are assuming that debug mode is release mode + things on top but that's not always true.
That's likely true but is still a guess. We don't have proof of that and nobody has yet spent time to understand how that's manifesting
I agree but unfortunately it is happening currently.
Agreed, but unfortunately that's not what happens today. There is code that only runs on debug mode and some code that only runs on release mode (at least in the past we had that to not trip the refleak mode). |
I will investigate the failures and report back. |
In general, I agree: if compute resources permit, we should be adding build bot runs, instead of replacing them. |
We don't need this anymore as the bugs have been fixed, and yes it was compiler optimization thing which is only enabled in debug builds causing this. |
See python/cpython#96678