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-130039: Tailcall for windows builds by Fidget-Spinner · Pull Request #130040 · python/cpython Conversation
|
|
@mdboom I'm baffled by the error in the CI. By any chance do you know how to fix it? https://github.com/python/cpython/actions/runs/13287244377/job/37098802007?pr=130040 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I can try poking at this locally a bit later today, but my first guess is that it's because the equals sign is getting swallowed here: ...so I don't really understand the quoting rules for PowerShell -- maybe I think I ran into this same problem in bench-runner, and I ultimately gave up and used |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
That makes sense. Thanks. Applied the change to use cmd instead! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@chris-eibl I guess we're blocked on getting patches to make |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Nevermind, I will try to patch them into this PR as well, so that we can do an integration test. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Yeah, see this part of Had a quick look at the PR and everything looks fine to me. The build log of your latest commit 7f91920 shows I have never seen that error before. For sure not during assembling, must come out of _asynciomodule.c: That's the only occurence I've found. Ah - you've found it yourself while I was typing :) Interestingly: I cannot reproduce locally for the failing commit 7f91920 using: with Visual Studio 2022 17.13.0 Preview 5.0, which ships with cl.exe 19.43.34808 and clang 19.1.1. Let's see whether your latest commit fixes CI - looks promising :) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
I'm pretty sure this advice assumes using cmd, not PowerShell (which is the default on Github Actions). Overriding the shell used on Github Actions seems to be the easy solution. The harder solution is figuring out PowerShell's escaping rules... |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
That didn't fix it :(. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ups - still the same error - very weird. No idea atm - sorry ... |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Unfortunately I cannot reproduce locally. Have a different clang version, though. Did also use clang 19.1.6 a lot. Will fire up a build for this commit ... Update:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ah.. I think I forgot to add parentheses :) my bad |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Nevermind, that didn't fix it. Now that I look at the macros closer, it shouldn't fix it either. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Really strange why that happens on CI. Cannot reproduce with clang 19.1.1 and 19.1.6. Those macros have been touched recently #129223. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Fixed it on CI! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@zooba gentle ping for a review please. Thanks again for reviewing that other PR on getting PGO working on clang-cl. This should be relatively tame in comparison :). |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Co-authored-by: Hugo van Kemenade <[email protected]>
There was an error while loading. Please reload this page.
| _GENERATE_DEBUG_SECTION_LINUX(name) | ||
|
|
||
| #if defined(MS_WINDOWS) | ||
| #if defined(MS_WINDOWS) && !defined(__clang__) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Does this need an alternate definition for Windows + clang?
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.
No, below there's a default that it uses is we're not one of the supported platforms. And that default works for Clang Windows.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| on: | ||
| pull_request: | ||
| paths: | ||
| - '.github/workflows/tail-call.yml' |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
This feels wrong to me, but if it's needed, then sure. Hopefully someone else can sign off on this part of the change.
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.
This is fine: when changing this file, it's good to run it as well to make sure we didn't break it -- which is rather too easy with YAML.
(And let's strip the trailing spaces.)
| - '.github/workflows/tail-call.yml' | |
| - '.github/workflows/tail-call.yml' |
(We should add yaml to this list, feel free to include it in the PR if you like:)
cpython/.pre-commit-config.yaml
Line 49 in 2904ec2
| types_or: [c, inc, python, rst] |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
We can't specify the minor version as the apt script doesn't recognize it.
|
Looks fine to me. I hope we can justify (one day) taking options out of |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@zooba: I understand. But doing that options in Would it be okay for you if I create a similar PR for Or is there a better way? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Environment variables pass through into the build just fine, and are exposed as MSBuild properties (provided we don't immediately overwrite them). I have no problem (well, fewer problems) with enabling a feature by environment variable, it's just the batch file option that worries me. The main difference is that if we remove the setting and it was only used by environment variable, the build will still succeed. If we remove a |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
That would be fine with me, too. IIUC, e.g. just add and leave it to the user to
up to their liking. Either way, build.bat does not have to "learn" all of that things. Might have been better for some of the existing switches, too - but it's too late for that. Maybe not for tailcall, since this is new? And if it is really important to warn or fail if a variable does not make sense any longer, we could do something like or Regarding documentation: shall this still be available via PS: we even could do some meaningful defaults like enabling tail calling if not given and Likewise, we could enable cg if |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Ah, and the "switch" shall maybe be named Naming is always hard :( |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Yeah, though I'd test for I'm okay with meaningful defaults, but do be very careful about the checks. It's very easy to break unrelated builds, because basically everything gets evaluated all the time and there's not much in the way of error handling. |
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.