Closed regro-cf-autotick-bot closed 2 years ago
Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe
) and found it was in an excellent condition.
I’ve been traveling for a few weeks (including SciPy) and should be back at a computer tomorrow!
No worries. Also we probably need the llvmlite
update to proceed ( https://github.com/conda-forge/llvmlite-feedstock/pull/62 ), which is blocked atm due to Windows issues.
@conda-forge-admin, please re-render
Now that llvmlite
is out, have updated this PR with the latest version constraints. Though there were a few changes. So would be good to have a few more eyes on it 🙂
cc @stuartarchibald (for awareness)
Note: The aarch64
builds are currently timing out.
It doesn't seem like the yare timing out as much as just using too many cores and crashing the tests.
Looks like this is segfaulting on all CPython on ARM?
Looks like this is segfaulting on all CPython on ARM?
this is my understanding as well
The most relevant error I found last night was:
File "/home/conda/feedstock_root/build_artifacts/numba_1660350208241/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/core/dispatcher.py", line 420 in _compile_for_args
File "/home/conda/feedstock_root/build_artifacts/numba_1660350208241/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.9/site-packages/numba/tests/test_sets.py", line 418 in test_remove_error
This test looks quite suspect
The back trace from the ARM build looks like it's segfaulting in the finalize_object
call in the LLVM execution engine bindings. Looks similar to https://github.com/numba/numba/issues/8215#issuecomment-1176595770.
A couple of reproducers of the AArch64 issue independent of Numba (and also of Numba-generated IR) in https://github.com/gmarkall/cf-llvmlite-0.39-issue-repro - this looks like https://github.com/llvm/llvm-project/issues/45520 but I have a little more investigation to do.
I think this is happening because conda-forge's LLVM doesn't have this patch applied: https://github.com/numba/llvmlite/blob/52970defcdd82c68a420e1dc182a814c7c4b16e3/conda-recipes/llvm_11_consecutive_registers.patch
and is therefore hitting llvm/llvm-project#45520 / LLVM Bugzilla 46175
I have three different IRs in the repo https://github.com/gmarkall/cf-llvmlite-0.39-issue-repro, from the LLVM issue, the code generated by Numba that is causing the segfault in this PR, and the test case from the above patch, and they all fail in getCopyFromParts()
.
If you are able to publish a version of the patched llvmlite on your own channel, we can test it here!
@hmaarrfk The llvmlite built for the Numba channel is built against an llvmdev that has the patch already (conda install numba::llvmlite
) - I'm not quite sure how to build the conda-forge libllvm11 locally.
One thing I can now add - I tried building llvmdev to the Numba channel's recipe without the patch, and it fails for all three reproducers:
$ python numba_repro.py
python: /data/gmarkall/miniforge/envs/cf-numba-94/conda-bld/llvmdev_1660770443916/work/lib/Target/AArch64/AArch64ISelLowering.cpp:3727: virtual llvm::SDValue llvm::AArch64TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, const llvm::SmallVectorImpl<llvm::ISD::InputArg>&, const llvm::SDLoc&, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const: Assertion `ArgLocs.size() == Ins.size()' failed.
$ python repro.py
python: /data/gmarkall/miniforge/envs/cf-numba-94/conda-bld/llvmdev_1660770443916/work/lib/Target/AArch64/AArch64ISelLowering.cpp:3727: virtual llvm::SDValue llvm::AArch64TargetLowering::LowerFormalArguments(llvm::SDValue, llvm::CallingConv::ID, bool, const llvm::SmallVectorImpl<llvm::ISD::InputArg>&, const llvm::SDLoc&, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const: Assertion `ArgLocs.size() == Ins.size()' failed.
$ python repro_csec_reg_patch.py
unimplemented reg-to-reg copy
UNREACHABLE executed at /data/gmarkall/miniforge/envs/cf-numba-94/conda-bld/llvmdev_1660770443916/work/lib/Target/AArch64/AArch64InstrInfo.cpp:3012!
Aborted (core dumped)
(Assertions are enabled in the Numba channel build, so it prints out messages explaining the violation rather than just segfaulting) - I think this adds another data point to demonstrate that the patch is required for LLVM 11.
I think this is happening because conda-forge's LLVM doesn't have this patch applied: https://github.com/numba/llvmlite/blob/52970defcdd82c68a420e1dc182a814c7c4b16e3/conda-recipes/llvm_11_consecutive_registers.patch
and is therefore hitting llvm/llvm-project#45520 / LLVM Bugzilla 46175
Submitted PR ( https://github.com/conda-forge/llvmdev-feedstock/pull/164 ) to apply this patch to LLVM
Should add llvmlite
in conda-forge uses shared libraries from LLVM. So we shouldn't need to rebuild it. Just need to rebuild LLVM (insert appropriate LOTR meme)
Seems that applying that patch is not ABI compatibile.
Seems that applying that patch is not ABI compatibile.
Does the ABI incompatibility only concern LLVM 12+, whereas Numba needs LLVM 11?
FYI, i think the meat of the discussion about ABI breakage is happening: https://github.com/conda-forge/llvmdev-feedstock/pull/167#pullrequestreview-1079581882
Is there any update on this release?
Is there any update on this release?
I think it's waiting on resolving issues in the llvmdev
package for LLVM 11 on aarch64
.
latest may be related to this PR: https://github.com/conda-forge/llvmdev-feedstock/pull/171
It is mostly waiting on final review from: https://github.com/conda-forge/llvmdev-feedstock/pull/170
@conda-forge-admin, please re-render
With PR ( https://github.com/conda-forge/llvmdev-feedstock/pull/171 ) in, refreshed this PR. Updated to the latest version and updated requirements. There was a setuptools
version constraint that I was unsure about. Asked about this above. Please take a look and let us know if anything else is needed here.
Thanks all! 🙏 Let's get these packages out :shipit:
Looks like all of the ppc64le
jobs on main
timed out on CI. This wasn't an issue in the PR previously. Trying restarting them...
Edit: They are still failing. Raised issue ( https://github.com/conda-forge/numba-feedstock/issues/102 )
It is very likely that the current package version for this feedstock is out of date.
Checklist before merging this PR:
license_file
is packagedInformation about this PR:
please add bot automerge
in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.bot-rerun
label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase code>@<space/conda-forge-admin, please rerun bot in a PR comment to have theconda-forge-admin
add it for you.Dependency Analysis
We couldn't run dependency analysis due to an internal error in the bot. :( Help is very welcome!
This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/autotick-bot/actions/runs/2735386165, please use this URL for debugging.
Closes https://github.com/conda-forge/numba-feedstock/pull/98 Closes https://github.com/conda-forge/numba-feedstock/pull/99 Closes https://github.com/conda-forge/numba-feedstock/pull/101