Concretizer internal error with recipes in multiple namespaces sharing a name

Open
#49,236 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
cmake, python

Research direction

Reproduce the failure with duplicate jsonnet recipes and start at lib/spack/spack/solver/asp.py, following the call path through lib/spack/spack/concretize.py and lib/spack/spack/cmd/init.py. Inspect how the two repositories are represented during concretization; done means the command succeeds with both recipes present and still behaves correctly after the external recipe is removed.

Written by the indexing model from the issue text.

Description

bug concretization triage v1.0.5 v1.1.2
Steps to reproduce
  1. Copy the recipe for jsonnet to an external recipe repo.
  2. Configure a Spack instance to use that repo.
  3. Copy the attached jsonnet recipe to your Spack instance's builtin repo.
  4. Execute spack --debug --backtrace install builtin.jsonnet build_system=cmake
  5. Get the failure described below.
  6. Remove the jsonnet recipe from your external repo.
  7. Execute spack clean -a
  8. Execute step 4 again, which should be successful this time.
Error message
[greenc@scisoftbuild02] run ((4a5922a0ec...)) (spack) $ spack --debug --backtrace --install install builtin.jsonnet build_system=cmake
==> [2025-02-28-11:02:04.888962] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/config.yaml
==> [2025-02-28-11:02:04.911217] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/config.yaml
==> [2025-02-28-11:02:04.936563] Imported install from built-in commands
==> [2025-02-28-11:02:04.937716] Imported install from built-in commands
==> [2025-02-28-11:02:04.938354] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/concretizer.yaml
==> [2025-02-28-11:02:04.986227] DATABASE LOCK TIMEOUT: 60s
==> [2025-02-28-11:02:04.986294] PACKAGE LOCK TIMEOUT: No timeout
==> [2025-02-28-11:02:04.986527] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/packages.yaml
==> [2025-02-28-11:02:05.021905] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/repos.yaml
==> [2025-02-28-11:02:05.023559] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/repos.yaml
==> [2025-02-28-11:02:46.856028] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/compilers.yaml
==> [2025-02-28-11:02:46.857375] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/linux/compilers.yaml
==> [2025-02-28-11:02:46.865151] '/usr/bin/gcc' '-v' '/scratch/greenc/var-tmp/spack-implicit-link-info2l6mktf6/main.c' '-o' '/scratch/greenc/var-tmp/spack-implicit-link-info2l6mktf6/output'
==> [2025-02-28-11:02:46.895610] '/usr/bin/gcc' '-dumpversion'
==> [2025-02-28-11:02:46.941123] DATABASE LOCK TIMEOUT: 60s
==> [2025-02-28-11:02:46.941200] PACKAGE LOCK TIMEOUT: No timeout
==> [2025-02-28-11:02:46.941957] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/mirrors.yaml
==> [2025-02-28-11:02:46.944402] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/mirrors.yaml
==> [2025-02-28-11:02:46.946871] Checking existence of file:///SciSoft/spack-mirror/spack-compiler-cache-plain/build_cache/index.json
==> [2025-02-28-11:02:46.947428] certs: relative path not allowed: $SSL_CERT_FILE
==> [2025-02-28-11:02:46.980963] DATABASE LOCK TIMEOUT: Nones
==> [2025-02-28-11:02:47.031437] DATABASE LOCK TIMEOUT: 60s
==> [2025-02-28-11:02:47.031513] PACKAGE LOCK TIMEOUT: No timeout
==> [2025-02-28-11:02:47.031655] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/bootstrap.yaml
==> [2025-02-28-11:02:47.038426] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/repos.yaml
==> [2025-02-28-11:02:47.040096] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/repos.yaml
==> [2025-02-28-11:02:47.041194] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/packages.yaml
==> [2025-02-28-11:02:47.077448] [BOOTSTRAP CONFIG SCOPE] name=_builtin
==> [2025-02-28-11:02:47.077805] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/bootstrap.yaml
==> [2025-02-28-11:02:47.083482] [BOOTSTRAP CONFIG SCOPE] name=defaults, path=/home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults
==> [2025-02-28-11:02:47.083517] [BOOTSTRAP CONFIG SCOPE] name=defaults/linux, path=/home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/linux
==> [2025-02-28-11:02:47.083561] [BOOTSTRAP CONFIG SCOPE] name=bootstrap, path=/home/greenc/.spack/bootstrap/config
==> [2025-02-28-11:02:47.083580] [BOOTSTRAP CONFIG SCOPE] name=bootstrap/linux, path=/home/greenc/.spack/bootstrap/config/linux
==> [2025-02-28-11:02:47.084579] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/config.yaml
==> [2025-02-28-11:02:47.103925] Reading config from file /home/greenc/.spack/bootstrap/config/linux/config.yaml
==> [2025-02-28-11:02:47.113956] DATABASE LOCK TIMEOUT: 60s
==> [2025-02-28-11:02:47.114021] PACKAGE LOCK TIMEOUT: No timeout
==> [2025-02-28-11:02:47.114168] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/packages.yaml
==> [2025-02-28-11:02:47.150539] Reading config from file /home/greenc/.spack/bootstrap/config/linux/compilers.yaml
==> [2025-02-28-11:02:47.166296] [BOOTSTRAP ROOT SPEC] clingo-bootstrap@spack+python %gcc platform=linux target=x86_64
==> [2025-02-28-11:02:47.166336] [BOOTSTRAP MODULE clingo] Try importing from Python
==> [2025-02-28-11:02:47.166596] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/bootstrap.yaml
==> [2025-02-28-11:02:47.231120] [BOOTSTRAP MODULE clingo] The installed spec "clingo-bootstrap@spack+python %gcc platform=linux target=x86_64 ^python@3.9/fs2aukvaiwysb3ob4zosvuwnkmfwxyoq" provides the "clingo" Python module
==> [2025-02-28-11:02:47.231648] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/concretizer.yaml
==> [2025-02-28-11:02:47.251830] [spack.solver.input_analysis] apple-libuuid is not for this platform
==> [2025-02-28-11:02:47.262035] [spack.solver.input_analysis] wgl is not for this platform
==> [2025-02-28-11:02:47.262199] [spack.solver.input_analysis] apple-gl is not for this platform
==> [2025-02-28-11:02:47.280143] [spack.solver.input_analysis] msmpi is not for this platform
==> [2025-02-28-11:02:47.322445] [spack.solver.input_analysis] veclibfort is not for this platform
==> [2025-02-28-11:02:47.322943] [spack.solver.input_analysis] nvpl-blas is not for this platform
==> [2025-02-28-11:02:47.325429] [spack.solver.input_analysis] nvpl-lapack is not for this platform
==> [2025-02-28-11:02:47.401841] [spack.solver.input_analysis] apple-libunwind is not for this platform
==> [2025-02-28-11:02:47.404462] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/defaults/packages.yaml
==> [2025-02-28-11:02:47.442263] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/compilers.yaml
==> [2025-02-28-11:02:47.443226] Reading config from file /home/greenc/work/cet-is/sources/Spack/spack/run/etc/spack/linux/compilers.yaml
==> [2025-02-28-11:02:58.463047] SolverError: Spack concretizer internal error. Please submit a bug report and include the command, environment if applicable and the following error message.
    jsonnet build_system=cmake is unsatisfiable
==> [2025-02-28-11:02:58.463143] SolverError: Spack concretizer internal error. Please submit a bug report and include the command, environment if applicable and the following error message.
    jsonnet build_system=cmake is unsatisfiable
==> [2025-02-28-11:02:58.463179] Error: Spack concretizer internal error. Please submit a bug report and include the command, environment if applicable and the following error message.
    jsonnet build_system=cmake is unsatisfiable
Traceback (most recent call last):
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/main.py", line 1048, in main
    return _main(argv)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/main.py", line 1000, in _main
    return finish_parse_and_run(parser, cmd_name, args, env_format_error)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/main.py", line 1031, in finish_parse_and_run
    return _invoke_command(command, parser, args, unknown)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/main.py", line 591, in _invoke_command
    return_val = command(parser, args)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/cmd/install.py", line 351, in install
    install_without_active_env(args, install_kwargs, reporter_factory)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/cmd/install.py", line 465, in install_without_active_env
    concrete_specs = concrete_specs_from_cli(args, install_kwargs) + concrete_specs_from_file(args)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/cmd/install.py", line 432, in concrete_specs_from_cli
    concrete_specs = spack.cmd.parse_specs(
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/cmd/__init__.py", line 189, in parse_specs
    return _concretize_spec_pairs(to_concretize, tests=tests)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/cmd/__init__.py", line 205, in _concretize_spec_pairs
    return [concrete or spack.concretize.concretize_one(abstract, tests=tests)]
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/concretize.py", line 217, in concretize_one
    result = Solver().solve([spec], tests=tests, allow_deprecated=allow_deprecated)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/solver/asp.py", line 4238, in solve
    result, _, _ = self.solve_with_stats(specs, **kwargs)
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/solver/asp.py", line 4228, in solve_with_stats
    return self.driver.solve(
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/solver/asp.py", line 924, in solve
    result.raise_if_unsat()
  File "/home/greenc/work/cet-is/sources/Spack/spack/run/lib/spack/spack/solver/asp.py", line 464, in raise_if_unsat
    raise SolverError(constraints, conflicts=conflicts)
spack.solver.asp.SolverError: Spack concretizer internal error. Please submit a bug report and include the command, environment if applicable and the following error message.
    jsonnet build_system=cmake is unsatisfiable
Information on your system
$ spack debug report
  • Spack: 1.0.0.dev0 (4a5922a0ec1298d9b98e552a930dd96f447dee62)
  • Python: 3.9.21
  • Platform: linux-almalinux9-cascadelake
General information
  • I have run spack debug report and reported the version of Spack/Python/Platform
  • I have searched the issues of this repo and believe this is not a duplicate
  • I have run the failing commands in debug mode and reported the output
Dominant language
Python
Stars
5.1k
Forks
2.5k
Avg merge
3d 4h
Merged PRs (30d)
82

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from spack/spack

All issues in spack/spack

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.