-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
Python 3.13 beta 2 build fails on Windows when using both --experimental-jit
and --disable-gil
#120326
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
Comments
Thanks for the report! |
This can probably be fixed by including the header where that function is declared in If it's some sort of compiler intrinsic that isn't supported by Clang, then we might need to update Separately, I'm wondering if we should expand the JIT test matrix to include more free-threaded jobs. It seems like we have a lot of missed coverage here, unfortunately. |
It seems like |
Alternatively, we could consider this combination unsupported for now (and explicitly raise a build-time error). Obviously eventually we want them to play nicely together, but maybe that would be a better experience in the short term until we have all of the CI, testing and fixes in place. |
…ythonGH-120329) (cherry picked from commit 939c201) Co-authored-by: Kirill Podoprigora <[email protected]>
I'd just print a warning. If we add a hard block, someone has to remember to remove it before anyone can test. |
We already print a warning telling people to report errors like this. The JIT is thread-safe, and I’d like to keep it that way. Breaking the build would make it much harder to bisect where new errors were introduced down the line. We already do a debug free-threaded JIT build for Linux in CI. Maybe we should just add others for Windows and macOS (they don’t run on most PRs). |
But right now we have the next best thing, which is using beta testers as buildbots. ;) |
On x86 (32-bit), the clang error message is: call to undeclared library function __readfsdword
On x64 (64-bit), the clang error message is: call to undeclared library function __readgsqword.
clang was modified recently to fail to build on implicit function declaration ( |
…ythonGH-120329) (cherry picked from commit 939c201) Co-authored-by: Kirill Podoprigora <[email protected]>
clang is more strict than MSC when it comes to implicit function declaration. The missing header was added by the change 939c201. Since this change was merged in the main branch, the "Free-threading Windows (x86)" job failed 3 times on I spent two days trying to reproduce the issue locally (on my Windows 11 VM) and on the CI (using a test PR), but I failed to trigger the bug!? I decided to backport the change on the 3.13 branch. The fix is needed, implicit function declaration is a bad issue. Maybe the 3.13 backport will make the issue more likely and so ease its debug. Or the bug will go ahead. I don't know. For now, I close the issue. If someone sees the bug again, please reopen the issue. On my test PR, I ran the job between 15 and 20 times in a row and all jobs succeeded!? |
Bug report
Bug description:
PCbuild\build.bat --experimental-jit --disable-gil
commit: 14ff4c9
Repeating a lot of the same error:
build_output.txt
Both
--experimental-jit
and--disable-gil
work on their own.CPython versions tested on:
3.13
Operating systems tested on:
Windows
Linked PRs
intrin.h
on Windows #120329The text was updated successfully, but these errors were encountered: