GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||
GeezerVison is showing github.com — gh-117657: Enable TSAN check on macOS with free-threads build by aisk · Pull Request #120502 · python/cpython Conversation
|
| options: ./configure --config-cache --disable-gil --with-thread-sanitizer --with-pydebug | ||
| suppressions_path: Tools/tsan/suppressions_free_threading.txt | ||
| tsan_logs_artifact_name: tsan-logs-free-threading | ||
| os-matrix: '["ubuntu-22.04", "macos-14"]' |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
To avoid queuing up too many jobs for the limited number of macOS builders, we'd want to use macos-14 for forks, but Cirrus for upstream builds.
See elsewhere in this file for examples, also needs changes in the reusable workflow.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I'm ambivalent about adding another TSan job. I'm not sure it's currently worth the extra CI resources and #120500 doesn't really seem like it uncovered a new race -- it might be due to the different version of clang or just a slightly different call stack that wasn't covered by the suppressions file.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| if support.check_sanitizer(thread=True) and sys.platform == 'darwin': | ||
| # See: gh-120696 | ||
| raise unittest.SkipTest("this test will hang on macOS with TSAN") |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
If this is hanging in faulthandler, that probably means the test is crashing.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Faulthandler hanging is definitely not great, but even if faulthandler is fixed I expect there will still be a problem with this test.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
These tests are just test the mallocator without the GIL, and intented to be crashed, so I think they are ok for now?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Oh, that makes sense -- I missed that.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I have another idea. We can just modified the code to temporarily skip these two problematic tests and run the TSAN checks on macOS locally. What do you think? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Yeah, I think we should be able to successfully run TSan tests locally on macOS. There still seems to be some underlying bugs that we should fix. As you pointed out above, the test (in a subprocess) is supposed to crash because it calls (I found it easier to run that directly under gdb or lldb than running the test case)
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Hi @colesbury, I opened #120900 just to skip these two tests on macOS. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This PR is stale because it has been open for 30 days with no activity. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Rebase review found this PR has no anchor: upstream replaced reusable-tsan.yml and the build_tsan jobs with reusable-san.yml/build-san, so this TSAN-on-macOS CI change cannot be rebased, only re-engineered. Closing to cull the number of open pull requests. If macOS TSAN coverage is still wanted, please open a new PR against the current CI layout rather than reopening this one. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.