Skip to content

Regression: spurious InvalidVersionSpec on previously working constraint #5644

@h-vetinari

Description

@h-vetinari

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

What happened?

In conda-forge/pytorch-cpu-feedstock#378, I'm trying to reinstate a tighter pin that had to be removed due to previous bugs in conda-build.

For 2/3 builds, it seems to work now (yay! 🥳), but there's another regression it seems

Attempting to finalize metadata for pytorch
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Reloading output folder: ...working... done
Getting pinned dependencies: ...working... done
Traceback (most recent call last):
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda/models/version.py", line 44, in __call__
    return cls._cache_[arg]
           ~~~~~~~~~~~^^^^^
KeyError: '>=3.12,<3.13.0a0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/runner/miniforge3/bin/conda-build", line 11, in <module>
    sys.exit(execute())
             ^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/cli/main_build.py", line 622, in execute
    api.build(
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/api.py", line 211, in build
    return build_tree(
           ^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/build.py", line 3663, in build_tree
    packages_from_this = build(
                         ^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/build.py", line 2344, in build
    output_metas = expand_outputs([(m, need_source_download, need_reparse_in_env)])
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/render.py", line 971, in expand_outputs
    for output_dict, m in deepcopy(_m).get_output_metadata_set(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/metadata.py", line 2723, in get_output_metadata_set
    conda_packages = finalize_outputs_pass(
                     ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/metadata.py", line 1019, in finalize_outputs_pass
    fm = finalize_metadata(
         ^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/render.py", line 733, in finalize_metadata
    get_pin_from_build(m, dep, full_build_dep_versions) for dep in run_deps
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/render.py", line 223, in get_pin_from_build
    pin = utils.apply_pin_expressions(version.split()[0], **pin_cfg)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda_build/utils.py", line 1504, in apply_pin_expressions
    parsed_version = VersionOrder(version).version[1:]
                     ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda/models/version.py", line 46, in __call__
    val = cls._cache_[arg] = super().__call__(arg)
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniforge3/lib/python3.12/site-packages/conda/models/version.py", line 172, in __init__
    raise InvalidVersionSpec(vstr, "invalid character(s)")
conda.exceptions.InvalidVersionSpec: Invalid version '>=3.12,<3.13.0a0': invalid character(s)

##[error]Bash exited with code '1'.
##[section]Finishing: Run OSX build

Conda Info

++ conda info
++ local cmd=info
++ case "$cmd" in
++ __conda_exe info
++ '[' -n '' ']'
++ /Users/runner/miniforge3/bin/conda info

     active environment : base
    active env location : /Users/runner/miniforge3
            shell level : 1
       user config file : /Users/runner/.condarc
 populated config files : /Users/runner/miniforge3/.condarc
          conda version : 25.1.1
    conda-build version : 25.3.0
         python version : 3.12.9.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=25.1.1=0
                          __osx=13.7.4=0
                          __unix=0=0
       base environment : /Users/runner/miniforge3  (writable)
      conda av data dir : /Users/runner/miniforge3/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/runner/miniforge3/pkgs
                          /Users/runner/.conda/pkgs
       envs directories : /Users/runner/miniforge3/envs
                          /Users/runner/.conda/envs
               platform : osx-64
             user-agent : conda/25.1.1 requests/2.32.3 CPython/3.12.9 Darwin/22.6.0 OSX/13.7.4 solver/libmamba conda-libmamba-solver/25.3.0 libmambapy/2.0.8
                UID:GID : 501:20
             netrc file : None
           offline mode : False

Conda Config

++ conda config --env --show-sources
++ local cmd=config
++ case "$cmd" in
++ __conda_exe config --env --show-sources
++ '[' -n '' ']'
++ /Users/runner/miniforge3/bin/conda config --env --show-sources
==> /Users/runner/miniforge3/.condarc <==
add_pip_as_python_dependency: False
auto_update_conda: False
aggressive_update_packages:
  - ca-certificates
  - certifi
channel_priority: strict
channels:
  - conda-forge
show_channel_urls: True
conda_build:
  pkg_format: 2
  zstd_compression_level: 19

==> envvars <==
allow_softlinks: False
solver: libmamba
bld_path: /Users/runner/miniforge3/conda-bld

Conda list

++ conda list --show-channel-urls
++ local cmd=list
++ case "$cmd" in
++ __conda_exe list --show-channel-urls
++ '[' -n '' ']'
++ /Users/runner/miniforge3/bin/conda list --show-channel-urls
# packages in environment at /Users/runner/miniforge3:
#
# Name                    Version                   Build  Channel
anaconda-cli-base         0.5.2              pyhd8ed1ab_0    conda-forge
anaconda-client           1.13.0             pyh29332c3_1    conda-forge
annotated-types           0.7.0              pyhd8ed1ab_1    conda-forge
archspec                  0.2.5              pyhd8ed1ab_0    conda-forge
attrs                     25.3.0             pyh71513ae_0    conda-forge
beautifulsoup4            4.13.3             pyha770c72_0    conda-forge
boltons                   24.0.0             pyhd8ed1ab_1    conda-forge
brotli-python             1.1.0           py312h5861a67_2    conda-forge
bzip2                     1.0.8                hfdf4475_7    conda-forge
c-ares                    1.34.4               hf13058a_0    conda-forge
ca-certificates           2025.1.31            h8857fd0_0    conda-forge
cctools                   1010.6               hb1cbab1_3    conda-forge
cctools_osx-64            1010.6               h0799949_3    conda-forge
certifi                   2025.1.31          pyhd8ed1ab_0    conda-forge
cffi                      1.17.1          py312hf857d28_0    conda-forge
chardet                   5.2.0              pyhd8ed1ab_3    conda-forge
charset-normalizer        3.4.1              pyhd8ed1ab_0    conda-forge
click                     8.1.8              pyh707e725_0    conda-forge
colorama                  0.4.6              pyhd8ed1ab_1    conda-forge
conda                     25.1.1          py312hb401068_1    conda-forge
conda-build               25.3.0          py312hb401068_0    conda-forge
conda-env                 2.6.0                         1    conda-forge
conda-forge-ci-setup      4.14.4          py312hd35cd3b_101    conda-forge
conda-forge-metadata      0.11.0             pyhd8ed1ab_1    conda-forge
conda-index               0.5.0              pyhd8ed1ab_0    conda-forge
conda-libmamba-solver     25.3.0             pyhd8ed1ab_0    conda-forge
conda-oci-mirror          0.2.3              pyhd8ed1ab_0    conda-forge
conda-package-handling    2.4.0              pyh7900ff3_2    conda-forge
conda-package-streaming   0.11.0             pyhd8ed1ab_1    conda-forge
cpp-expected              1.1.0                hb8565cd_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
deprecated                1.2.18             pyhd8ed1ab_0    conda-forge
distro                    1.9.0              pyhd8ed1ab_1    conda-forge
filelock                  3.18.0             pyhd8ed1ab_0    conda-forge
fmt                       11.0.2               h3c5361c_0    conda-forge
freetype                  2.13.3               h40dfd5c_0    conda-forge
frozendict                2.4.6           py312h3d0f464_0    conda-forge
git                       2.49.0          pl5321h0e333bc_0    conda-forge
h2                        4.2.0              pyhd8ed1ab_0    conda-forge
hpack                     4.1.0              pyhd8ed1ab_0    conda-forge
hyperframe                6.1.0              pyhd8ed1ab_0    conda-forge
idna                      3.10               pyhd8ed1ab_1    conda-forge
importlib_resources       6.5.2              pyhd8ed1ab_0    conda-forge
jinja2                    3.1.6              pyhd8ed1ab_0    conda-forge
joblib                    1.4.2              pyhd8ed1ab_1    conda-forge
jq                        1.7.1                h10d778d_0    conda-forge
jsonpatch                 1.33               pyhd8ed1ab_1    conda-forge
jsonpointer               3.0.0           py312hb401068_1    conda-forge
jsonschema                4.23.0             pyhd8ed1ab_1    conda-forge
jsonschema-specifications 2024.10.1          pyhd8ed1ab_1    conda-forge
jupyter_core              5.7.2              pyh31011fe_1    conda-forge
krb5                      1.21.3               h37d8d59_0    conda-forge
lcms2                     2.17                 h72f5680_0    conda-forge
ld64                      951.9                h0a3eb4e_3    conda-forge
ld64_osx-64               951.9                hb154072_3    conda-forge
lerc                      4.0.0                hb486fe8_0    conda-forge
libarchive                3.7.7                h1a33361_3    conda-forge
libcurl                   8.12.1               h5dec5d8_0    conda-forge
libcxx                    20.1.1               hf95d169_0    conda-forge
libdeflate                1.23                 he65b83e_0    conda-forge
libedit                   3.1.20250104    pl5321ha958ccf_0    conda-forge
libev                     4.33                 h10d778d_2    conda-forge
libexpat                  2.6.4                h240833e_0    conda-forge
libffi                    3.4.6                h281671d_0    conda-forge
libiconv                  1.18                 h4b5e92a_1    conda-forge
libintl                   0.23.1               h27064b9_0    conda-forge
libjpeg-turbo             3.0.0                h0dc2134_1    conda-forge
liblief                   0.16.2               h240833e_0    conda-forge
libllvm17                 17.0.6               hbedff68_1    conda-forge
liblzma                   5.6.4                hd471939_0    conda-forge
libmamba                  2.0.8                h10bde34_0    conda-forge
libmambapy                2.0.8           py312ha8f15af_0    conda-forge
libnghttp2                1.64.0               hc7306c3_0    conda-forge
libpng                    1.6.47               h3c4a55f_0    conda-forge
libsolv                   0.7.30               h69d5d9b_0    conda-forge
libsqlite                 3.49.1               hdb6dae5_2    conda-forge
libssh2                   1.11.1               h3dc7d44_0    conda-forge
libtiff                   4.7.0                hb77a491_3    conda-forge
libwebp-base              1.5.0                h6cf52b4_0    conda-forge
libxcb                    1.17.0               hf1f96e2_0    conda-forge
libxml2                   2.13.6               he8ee3e7_0    conda-forge
libzlib                   1.3.1                hd23fc13_2    conda-forge
llvm-tools                17.0.6               hbedff68_1    conda-forge
lz4-c                     1.10.0               h240833e_1    conda-forge
lzo                       2.10              h10d778d_1001    conda-forge
mamba                     2.0.8                h88cbde9_0    conda-forge
markdown-it-py            3.0.0              pyhd8ed1ab_1    conda-forge
markupsafe                3.0.2           py312h3520af0_1    conda-forge
mbedtls                   3.5.1                h240833e_1    conda-forge
mdurl                     0.1.2              pyhd8ed1ab_1    conda-forge
menuinst                  2.2.0           py312hb401068_0    conda-forge
more-itertools            10.6.0             pyhd8ed1ab_0    conda-forge
nbformat                  5.10.4             pyhd8ed1ab_1    conda-forge
ncurses                   6.5                  h0622a9a_3    conda-forge
nlohmann_json             3.11.3               hf036a51_1    conda-forge
oniguruma                 6.9.10               h6e16a3a_0    conda-forge
openjpeg                  2.5.3                h7fd6d84_0    conda-forge
openssl                   3.4.1                hc426f3f_0    conda-forge
oras-py                   0.1.14             pyhd8ed1ab_0    conda-forge
packaging                 24.2               pyhd8ed1ab_2    conda-forge
patch                     2.7.6             hbcf498f_1002    conda-forge
pcre2                     10.44                h7634a1b_2    conda-forge
perl                      5.32.1          7_h10d778d_perl5    conda-forge
pillow                    11.1.0          py312hd9f36e3_0    conda-forge
pip                       25.0.1             pyh8b19718_0    conda-forge
pkginfo                   1.12.1.2           pyhd8ed1ab_0    conda-forge
pkgutil-resolve-name      1.3.10             pyhd8ed1ab_2    conda-forge
platformdirs              4.3.7              pyh29332c3_0    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_1    conda-forge
psutil                    7.0.0           py312h01d7ebd_0    conda-forge
pthread-stubs             0.4               h00291cd_1002    conda-forge
py-lief                   0.16.2          py312haafddd8_0    conda-forge
pybind11-abi              4                    hd8ed1ab_3    conda-forge
pycosat                   0.6.6           py312h01d7ebd_2    conda-forge
pycparser                 2.22               pyh29332c3_1    conda-forge
pydantic                  2.10.6             pyh3cfb1c2_0    conda-forge
pydantic-core             2.27.2          py312h0d0de52_0    conda-forge
pydantic-settings         2.8.1              pyh3cfb1c2_0    conda-forge
pygments                  2.19.1             pyhd8ed1ab_0    conda-forge
pysocks                   1.7.1              pyha55dd90_7    conda-forge
python                    3.12.9          h9ccd52b_1_cpython    conda-forge
python-dateutil           2.9.0.post0        pyhff2d567_1    conda-forge
python-dotenv             1.0.1              pyhd8ed1ab_1    conda-forge
python-fastjsonschema     2.21.1             pyhd8ed1ab_0    conda-forge
python-libarchive-c       5.2                pyh29332c3_0    conda-forge
python_abi                3.12                    5_cp312    conda-forge
pytz                      2025.1             pyhd8ed1ab_0    conda-forge
pyyaml                    6.0.2           py312h3520af0_2    conda-forge
rattler-build             0.39.0               h05de357_1    conda-forge
rattler-build-conda-compat 1.3.4              pyhd8ed1ab_0    conda-forge
readchar                  4.2.0              pyhd8ed1ab_1    conda-forge
readline                  8.2                  h7cca4af_2    conda-forge
referencing               0.36.2             pyh29332c3_0    conda-forge
reproc                    14.2.5.post0         h6e16a3a_0    conda-forge
reproc-cpp                14.2.5.post0         h240833e_0    conda-forge
requests                  2.32.3             pyhd8ed1ab_1    conda-forge
requests-toolbelt         1.0.0              pyhd8ed1ab_1    conda-forge
rich                      13.9.4             pyhd8ed1ab_1    conda-forge
ripgrep                   14.1.1               h926acf8_0    conda-forge
rpds-py                   0.23.1          py312hb59e30e_0    conda-forge
ruamel.yaml               0.18.10         py312h01d7ebd_0    conda-forge
ruamel.yaml.clib          0.2.8           py312h3d0f464_1    conda-forge
setuptools                75.8.2             pyhff2d567_0    conda-forge
shellingham               1.5.4              pyhd8ed1ab_1    conda-forge
shyaml                    0.6.2              pyhd3deb0d_0    conda-forge
sigtool                   0.1.3                h88f4db0_0    conda-forge
simdjson                  3.12.2               h9275861_0    conda-forge
six                       1.17.0             pyhd8ed1ab_0    conda-forge
soupsieve                 2.5                pyhd8ed1ab_1    conda-forge
spdlog                    1.15.1               h65da0ee_0    conda-forge
tapi                      1300.6.5             h390ca13_0    conda-forge
tk                        8.6.13               h1abcd95_1    conda-forge
tomli                     2.2.1              pyhd8ed1ab_1    conda-forge
tqdm                      4.67.1             pyhd8ed1ab_1    conda-forge
traitlets                 5.14.3             pyhd8ed1ab_1    conda-forge
truststore                0.10.1             pyh29332c3_0    conda-forge
typer                     0.15.2             pyhff008b6_0    conda-forge
typer-slim                0.15.2             pyh29332c3_0    conda-forge
typer-slim-standard       0.15.2               h801b22e_0    conda-forge
typing-extensions         4.12.2               hd8ed1ab_1    conda-forge
typing_extensions         4.12.2             pyha770c72_1    conda-forge
tzdata                    2025a                h78e105d_0    conda-forge
urllib3                   2.3.0              pyhd8ed1ab_0    conda-forge
wheel                     0.45.1             pyhd8ed1ab_1    conda-forge
wrapt                     1.17.2          py312h01d7ebd_0    conda-forge
xorg-libxau               1.0.12               h6e16a3a_0    conda-forge
xorg-libxdmcp             1.1.5                h00291cd_0    conda-forge
yaml                      0.2.5                h0d85af4_2    conda-forge
yaml-cpp                  0.8.0                he965462_0    conda-forge
zipp                      3.21.0             pyhd8ed1ab_1    conda-forge
zstandard                 0.23.0          py312h01d7ebd_1    conda-forge
zstd                      1.5.7                h8210216_2    conda-forge

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    type::bugdescribes erroneous operation, use severity::* to classify the type

    Type

    No type

    Projects

    Status

    🏁 Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions