Skip to content

conda-rattler solver crashes after first successful install from conda-pypi-test channel #249

@dashagurova

Description

@dashagurova

Checklist

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

What happened?

Summary

Using solver: rattler, the first install from the conda pypi test channel works.
After that, any subsequent conda install or conda remove in the same environment crashes

Steps

Fresh environment:

  • Create fresh env
  • Install package from conda pypi-test-channel - ✅ succeeds
  • Run any other conda command in that env - ❌ crashes with:
    ValueError: non-hexadecimal number found in fromhex() arg at position X

If I create a fresh env, the same thing happens again:

  • first wheel install works
  • second operation crashes

Additional Context

conda install supervision=0.27.0                                                                              
2 channel Terms of Service accepted
Channels:
 - https://github.com/conda-incubator/conda-pypi-test/releases/download
 - defaults
Platform: osx-arm64
Target prefix: /Users/dariagurova/miniconda3/envs/test1
Collecting package metadata (repodata.json): done
Solving environment: failed

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/exception_handler.py", line 30, in __call__
        return func(*args, **kwargs)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/cli/main.py", line 62, in main_subshell
        exit_code = do_call(args, parser)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/cli/conda_argparse.py", line 205, in do_call
        result = getattr(module, func_name)(args, parser)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/notices/core.py", line 141, in wrapper
        return func(*args, **kwargs)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/cli/main_install.py", line 165, in execute
        install(args, parser, "install")
        ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/cli/install.py", line 417, in install
        unlink_link_transaction = solver.solve_for_transaction(
            deps_modifier=deps_modifier,
        ...<4 lines>...
            ),
        )
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/core/solve.py", line 162, in solve_for_transaction
        unlink_precs, link_precs = self.solve_for_diff(
                                   ~~~~~~~~~~~~~~~~~~~^
            update_modifier,
            ^^^^^^^^^^^^^^^^
        ...<5 lines>...
            should_retry_solve,
            ^^^^^^^^^^^^^^^^^^^
        )
        ^
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda/core/solve.py", line 231, in solve_for_diff
        final_precs = self.solve_final_state(
            update_modifier,
        ...<4 lines>...
            should_retry_solve,
        )
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/solver.py", line 149, in solve_final_state
        out_state = self._solving_loop(in_state, out_state, index)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/solver.py", line 276, in _solving_loop
        solution = self._solve_attempt(in_state, out_state, index, attempt=attempt)
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/solver.py", line 340, in _solve_attempt
        **self._collect_specs(in_state, out_state),
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/solver.py", line 392, in _collect_specs
        return self._collect_specs_main(in_state, out_state)
               ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/solver.py", line 538, in _collect_specs_main
        conda_prefix_record_to_rattler_prefix_record(record) for record in locked_packages
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
      File "/Users/dariagurova/miniconda3/lib/python3.13/site-packages/conda_rattler_solver/utils.py", line 150, in conda_prefix_record_to_rattler_prefix_record
        "sha256": bytes.fromhex(getattr(path, "sha256", "")) or None,
                  ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ValueError: non-hexadecimal number found in fromhex() arg at position 0

`$ /Users/dariagurova/miniconda3/bin/conda install supervision=0.27.0`

  environment variables:
                 CIO_TEST=<not set>
        CONDA_DEFAULT_ENV=test1
                CONDA_EXE=/Users/dariagurova/miniconda3/bin/conda
             CONDA_PREFIX=/Users/dariagurova/miniconda3/envs/test1
           CONDA_PREFIX_1=/Users/dariagurova/miniconda3
           CONDA_PREFIX_2=/Users/dariagurova/miniconda3/envs/test
    CONDA_PROMPT_MODIFIER=(test1)
         CONDA_PYTHON_EXE=/Users/dariagurova/miniconda3/bin/python
               CONDA_ROOT=/Users/dariagurova/miniconda3
              CONDA_SHLVL=3
           CURL_CA_BUNDLE=<not set>
                 INFOPATH=/opt/homebrew/share/info:
               LD_PRELOAD=<not set>
                     PATH=/Users/dariagurova/miniconda3/envs/test1/bin:/Users/dariagurova/minico
                          nda3/condabin:/Users/dariagurova/.pixi/bin:/opt/homebrew/bin:/opt/home
                          brew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/
                          usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/boots
                          trap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/b
                          ootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/boo
                          tstrap/usr/appleinternal/bin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>

     active environment : test1
    active env location : /Users/dariagurova/miniconda3/envs/test1
            shell level : 3
       user config file : /Users/dariagurova/.condarc
 populated config files : /Users/dariagurova/miniconda3/.condarc
                          /Users/dariagurova/miniconda3/condarc.d/anaconda-auth.yml
                          /Users/dariagurova/.condarc
          conda version : 26.1.1
    conda-build version : not installed
         python version : 3.13.11.final.0
                 solver : rattler
       virtual packages : __archspec=1=m1
                          __conda=26.1.1=0
                          __osx=15.7=0
                          __unix=0=0
       base environment : /Users/dariagurova/miniconda3  (writable)
      conda av data dir : /Users/dariagurova/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : https://github.com/conda-incubator/conda-pypi-test/releases/download/noarch
                          https://repo.anaconda.com/pkgs/main/osx-arm64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-arm64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /Users/dariagurova/miniconda3/pkgs
                          /Users/dariagurova/.conda/pkgs
       envs directories : /Users/dariagurova/miniconda3/envs
                          /Users/dariagurova/.conda/envs
    temporary directory : /var/folders/2c/5j8206bs3xb7znyjw1w6w03w0000gp/T
               platform : osx-arm64
             user-agent : conda/26.1.1 requests/2.32.5 CPython/3.13.11 Darwin/24.6.0 OSX/15.7 solver/rattler conda-rattler-solver/0.0.5 py-rattler/0.21.0 aau/0.7.5 c/. s/. e/. o/.
                UID:GID : 502:20
             netrc file : None
           offline mode : False


An unexpected error has occurred. Conda has prepared the above report.
If you suspect this error is being caused by a malfunctioning plugin,
consider using the --no-plugins option to turn off plugins.

Example: conda --no-plugins install <package>

Alternatively, you can set the CONDA_NO_PLUGINS environment variable on
the command line to run the command without plugins enabled.

Example: CONDA_NO_PLUGINS=true conda install <package>

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

Status

Done 💪🏾

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions