Skip to content
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

Debug main, do we see the same failure? #210

Closed
wants to merge 18 commits into from

Conversation

xhochy
Copy link
Member

@xhochy xhochy commented Sep 13, 2024

Checklist

  • Used a personal fork of the feedstock to propose changes
  • Bumped the build number (if the version is unchanged)
  • Reset the build number to 0 (if the version changed)
  • Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
  • Ensured the license file is being packaged.

@conda-forge-webservices
Copy link
Contributor

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/meta.yaml) and found it was in an excellent condition.

@xhochy
Copy link
Member Author

xhochy commented Sep 16, 2024

Same failure here :(

@xhochy
Copy link
Member Author

xhochy commented Sep 16, 2024

@jaimergp I think I found a bug in conda-libmamba-solver=24.7.0, but I don't know how I can provide more useful information. The rust package on osx-* is simply not found in the testing phase. The only diff I can find that remotely has to do with this is conda/conda-libmamba-solver#485

@mbargull
Copy link
Member

Could be virtual package handling, but could also be caching related, i.e., conda/conda-libmamba-solver#482 .

@pkgw
Copy link
Contributor

pkgw commented Sep 16, 2024

@xhochy Nice investigation! Thanks for digging into this.

@pkgw pkgw mentioned this pull request Sep 16, 2024
@jaimergp
Copy link
Member

Thanks for the report. Is it ok if I debug things in your branch directly? Thinking of creating a couple of conda-libmamba-solver branches with a couple reverts to see which one is the culprit.

@jaimergp
Copy link
Member

Could be virtual package handling, but could also be caching related, i.e., conda/conda-libmamba-solver#482 .

We are supposedly not using .solv files during channel reloads but maybe there's a bug in that logic too 😬

@xhochy
Copy link
Member Author

xhochy commented Sep 19, 2024

Thanks for the report. Is it ok if I debug things in your branch directly? Thinking of creating a couple of conda-libmamba-solver branches with a couple reverts to see which one is the culprit.

Yes, feel free to push freely here.

MNT: Re-rendered with conda-build 24.7.1, conda-smithy 3.40.1, and conda-forge-pinning 2024.09.19.10.49.54
@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [62]

@conda-forge-webservices
Copy link
Contributor

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/meta.yaml) and found it was in an excellent condition.

@jaimergp
Copy link
Member

Trying conda/conda-libmamba-solver@8ed9689, no solv files at all.

@jaimergp
Copy link
Member

That didn't change much. Trying conda/conda-libmamba-solver@610422c, which brings conda/conda-libmamba-solver#485 back.

@jaimergp
Copy link
Member

Well, same story. I really wonder if this is it? conda/conda-libmamba-solver@63c545f

@jaimergp
Copy link
Member

No way 😂 Why!

@jaimergp
Copy link
Member

Let's see what the difference is with deduplicated channels or not. I suspect there's some bug in the Channel object in conda, where the "identity" of the channel might not consider the subdir or something like that, so it gets deduped, but wrongly so.

@jaimergp
Copy link
Member

The list of channels (and their URLs) are indeed identical, so I'm clueless why deduplication affects the reloading. My guess is that there might be some sort of race condition when they are reloaded rapidly in succession, so loading them twice in a row would help with the Python objects getting updated. I've added a sleep(1) statement to see if that helps.

@jaimergp
Copy link
Member

Ah wait, in one of the cases we see this:

file:///Users/runner/miniforge3/conda-bld/noarch
 > file:///Users/runner/miniforge3/conda-bld/noarch
file:///Users/runner/miniforge3/conda-bld/osx-64
 > file:///Users/runner/miniforge3/conda-bld/osx-64
 > file:///Users/runner/miniforge3/conda-bld/noarch
https://conda.anaconda.org/conda-forge/osx-64
 > https://conda.anaconda.org/conda-forge/osx-64
 > https://conda.anaconda.org/conda-forge/noarch
---
file:///Users/runner/miniforge3/conda-bld/noarch
 > file:///Users/runner/miniforge3/conda-bld/noarch
https://conda.anaconda.org/conda-forge/osx-64
 > https://conda.anaconda.org/conda-forge/osx-64
 > https://conda.anaconda.org/conda-forge/noarch

The osx-64 subdir is missing in the first channel (but not in the second), so it gets lost after deduplication. I think deduplication should be done on URLs not Channels. And this is done internally with explicit subdirs, BUT turns out that Channel.urls() silently ignores the subdirs keyword if Channel.platform is defined. Great.

@jaimergp
Copy link
Member

Published conda/conda-libmamba-solver#531 which will be released with 24.9.

@pkgw
Copy link
Contributor

pkgw commented Sep 23, 2024

Thanks for hunting this down @jaimergp!

@jaimergp
Copy link
Member

Thanks for the reports! I think we can close this one, right? main is working after all. Once 24.9 we can revert the conda-forge.yml changes.

@xhochy
Copy link
Member Author

xhochy commented Sep 23, 2024

Thank you for the effort 😍

@xhochy xhochy closed this Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants