GHA: Promote macOS-arm64 cross-compilation job to full native job#4541
GHA: Promote macOS-arm64 cross-compilation job to full native job#4541kinke merged 1 commit intoldc-developers:masterfrom
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!).