conda-forge / numba-feedstock

A conda-smithy repository for numba.
BSD 3-Clause "New" or "Revised" License
0 stars 27 forks source link

numba v0.56.2 #94

Closed regro-cf-autotick-bot closed 2 years ago

regro-cf-autotick-bot commented 2 years ago

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with code>@conda-forge-admin,</codeplease add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the 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 the conda-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

conda-forge-linter commented 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.

henryiii commented 2 years ago

I’ve been traveling for a few weeks (including SciPy) and should be back at a computer tomorrow!

jakirkham commented 2 years ago

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.

jakirkham commented 2 years ago

@conda-forge-admin, please re-render

jakirkham commented 2 years ago

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 🙂

jakirkham commented 2 years ago

cc @stuartarchibald (for awareness)

jakirkham commented 2 years ago

Note: The aarch64 builds are currently timing out.

hmaarrfk commented 2 years ago

It doesn't seem like the yare timing out as much as just using too many cores and crashing the tests.

henryiii commented 2 years ago

Looks like this is segfaulting on all CPython on ARM?

hmaarrfk commented 2 years ago

Looks like this is segfaulting on all CPython on ARM?

this is my understanding as well

hmaarrfk commented 2 years ago

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
hmaarrfk commented 2 years ago

This test looks quite suspect

https://github.com/numba/numba/blob/2e9b58cfce0391b968ab8c7c84393cc12c4d1bfb/numba/tests/test_sets.py#L418

stuartarchibald commented 2 years ago

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.

gmarkall commented 2 years ago

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.

gmarkall commented 2 years ago

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().

hmaarrfk commented 2 years ago

If you are able to publish a version of the patched llvmlite on your own channel, we can test it here!

gmarkall commented 2 years ago

@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.

jakirkham commented 2 years ago

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

jakirkham commented 2 years ago

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)

hmaarrfk commented 2 years ago

Seems that applying that patch is not ABI compatibile.

stuartarchibald commented 2 years ago

Seems that applying that patch is not ABI compatibile.

Does the ABI incompatibility only concern LLVM 12+, whereas Numba needs LLVM 11?

hmaarrfk commented 2 years ago

FYI, i think the meat of the discussion about ABI breakage is happening: https://github.com/conda-forge/llvmdev-feedstock/pull/167#pullrequestreview-1079581882

njriasan commented 2 years ago

Is there any update on this release?

stuartarchibald commented 2 years ago

Is there any update on this release?

I think it's waiting on resolving issues in the llvmdev package for LLVM 11 on aarch64.

raybellwaves commented 2 years ago

latest may be related to this PR: https://github.com/conda-forge/llvmdev-feedstock/pull/171

hmaarrfk commented 2 years ago

It is mostly waiting on final review from: https://github.com/conda-forge/llvmdev-feedstock/pull/170

jakirkham commented 2 years ago

@conda-forge-admin, please re-render

jakirkham commented 2 years ago

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.

jakirkham commented 2 years ago

Thanks all! 🙏 Let's get these packages out :shipit:

jakirkham commented 2 years ago

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 )