-
-
Notifications
You must be signed in to change notification settings - Fork 261
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
GHA: Promote macOS-arm64 cross-compilation job to full native job #4541
Conversation
70170a2
to
b22d18c
Compare
b22d18c
to
47dbf73
Compare
2 remaining failures:
These work for Cirrus CI, on macOS 12 (not 14, and surely a different Xcode version too). |
47dbf73
to
04c4baf
Compare
Hmm, some strange miscompile somehow? lit-test
|
04c4baf
to
69b43d5
Compare
Before merging this PR, I think I should download the artifacts (that's possible right?) and compare the output of the gamma unittest with my local build, and see if I can figure out what the miscompile is. Otherwise, I fear we release with a somehow miscompiling compiler... |
I downloaded the osx-universal artifact:
|
About the
|
The gammafunction module consistently fails on the new M1 GHA runners for the vanilla-LLVM jobs too, using vanilla LLVM 16 & 17. The |
@JohanEngelen: So wrt. gammafunction, I'd expect you to see it too, with the regular Phobos unittest runner. - Wrt. the thrown exception for the extra .conf, I'm wondering how the current CI artifacts behave (cross-compiled, but still with PGO + LTO + mimalloc IIRC). [And note that we don't compile the CI artifacts with |
[Draft because of random |
3d92b47
to
d055b79
Compare
The situation hasn't changed with latest LLVM v18.1.5 and the latest GHA macos-14 image. I've retried the CI job 2 times; the first 2 runs were green, the third now had one failure again:
|
I went an extra mile of building the LLVM package on macos-14 with the oldest available Xcode v14.3.1, and switching to that Xcode and LLVM package here. No improvements - still sporadic 'pure virtual function called' crashes. swearing |
Oh man, this keeps getting weirder and more ball-busting. So I've now tried switching back to the old LDC-LLVM v17.0.6 package, which was cross-compiled on macos-12 (edit: or more likely even v11) at the time; I don't recall which Xcode version, but at most v14. While using Xcode v14.3.1 for LDC here. Results for 2 CI pipelines/workflow runs, with 4 native macos arm64 jobs each, 2 without PGO and only D-LTO, and 2 with PGO plus full LTO (incl. C++ parts - the former 'unsupported stack probe' error vanished!):
So it looks as if PGO and/or full LTO might fix this abomination for that new combination of prebuilt LLVM and Xcode - the options that with LLVM 18 and latest Xcode v15.3 led to more failures! I'm gonna re-run the workflow some more times to see if this really holds. |
Same results after 5 workflow runs, i.e., 10 jobs each - at least 1 pure-virtual-func error for all 10 jobs without PGO and D-limited LTO, not a single one for the 10 jobs with PGO + full LTO. |
Using the new CI runners (awesome performance!).