-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Improve ASAN and TSAN handling in cmake #93147
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/93147
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 51ea450: This comment was automatically generated by Dr. CI and updates every 15 minutes. |
Now we can test windows VS2022 with ASAN enabled but I don't know how to setup CI targets. |
The test failures are due to ASAN finally taking effect, and the old ASAN switch has no effect...:joy: |
b9bc807
to
9eb07d4
Compare
I have fix some leaks and there remains several JIT indirect leaks to digest. I think enable leak detection by default is not a bad idea now. But I need someone who is familiar with CI to help me setup the related config. |
9eb07d4
to
9d41318
Compare
@pytorchbot rebase |
@pytorchbot successfully started a rebase job. Check the current status here |
Successfully rebased |
9d41318
to
f90663f
Compare
Hmm, @malfet Any idea what is going on with the build_docs error? |
Just a hiccup, it could not download build artifacts from the previous step. Re-run should fix it (hopefully) |
@pytorchbot rebase |
@pytorchbot successfully started a rebase job. Check the current status here |
Successfully rebased |
f90663f
to
049fe3b
Compare
f222675
to
0246128
Compare
@malfet asan tests fail with Indirect leak detected. A big success. The next step is to fix them. But JIT code is more complicated, it will take more time. |
@cyyever Unfortunately, it looks like most of the leaks are from pybind11::enum which is known to be leaky pybind/pybind11#3865 . If you can find the root cause and fix it, we would gladly accept as a PR in pybind11 though. Otherwise, i suppose we have to add supressions. |
@Skylion007 It didn't report pybind11 leaks on 3.10, maybe fixed by official. |
851207a
to
51ea450
Compare
@pytorchmergebot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Pull Request resolved: pytorch#93147 Approved by: https://github.com/malfet
Pull Request resolved: pytorch/pytorch#93147 Approved by: https://github.com/malfet
Pull Request resolved: pytorch/pytorch#93147 Approved by: https://github.com/malfet
Pull Request resolved: pytorch#93147 Approved by: https://github.com/malfet
|
||
set(CMAKE_REQUIRED_QUIET ON) | ||
set(_run_res 0) | ||
include(CheckSourceRuns) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may be wrong here, but this requires CMake version upper than 3.18 (minimum required specified in pytorch CMakeLists.txt):
Line 1 in 57bb5b1
cmake_minimum_required(VERSION 3.18 FATAL_ERROR) |
According to the logs when pytorch-linux-focal-py3-clang7-asan
is built, CI is running CMake version 3.22.1.
Should we update it or at least specify cmake_minimum_required(VERSION 3.22 FATAL_ERROR)
in this file ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
check_source_runs can be changed to check_cxx_source_runs which exists in 3.18
As indicated by the last comment from PR #93147, we should replace CheckSourceRuns in **cmake/Modules/FindSanitizer.cmake** with older versions to avoid dependency on CMake 3.19+ Pull Request resolved: #97073 Approved by: https://github.com/vfdev-5, https://github.com/Skylion007
If `USE_ASAN` is set, compile FBGEMM with ASAN as well, by setting `USE_SANITIZER` to `address,undefined` This fixes regression in sanitizer coverage introduced by #93147 that change effects of sanitizer from the entire project to just torch libraries
If `USE_ASAN` is set, compile FBGEMM with ASAN as well, by setting `USE_SANITIZER` to `address,undefined` This fixes regression in sanitizer coverage introduced by #93147 that change effects of sanitizer from the entire project to just torch libraries
If `USE_ASAN` is set, compile FBGEMM with ASAN as well, by setting `USE_SANITIZER` to `address,undefined` This fixes regression in sanitizer coverage introduced by #93147 that change effects of sanitizer from the entire project to just torch libraries, and finally allows one to reliably catch regression reported in #111189 Pull Request resolved: #111266 Approved by: https://github.com/huydhn
If `USE_ASAN` is set, compile FBGEMM with ASAN as well, by setting `USE_SANITIZER` to `address,undefined` This fixes regression in sanitizer coverage introduced by pytorch#93147 that change effects of sanitizer from the entire project to just torch libraries, and finally allows one to reliably catch regression reported in pytorch#111189 Pull Request resolved: pytorch#111266 Approved by: https://github.com/huydhn
If `USE_ASAN` is set, compile FBGEMM with ASAN as well, by setting `USE_SANITIZER` to `address,undefined` This fixes regression in sanitizer coverage introduced by pytorch#93147 that change effects of sanitizer from the entire project to just torch libraries, and finally allows one to reliably catch regression reported in pytorch#111189 Pull Request resolved: pytorch#111266 Approved by: https://github.com/huydhn
No description provided.