Skip to content

mesa with test dependencies fail to concretize #20079

@alalazo

Description

@alalazo

When trying to install mesa with test dependencies, one gets errors during concretization with both the original and the new concretizer.

Steps to reproduce the issue

$ spack install --test=all mesa
[ ... ]

Error Message

With the ASP-based concretizer one gets

$ spack install --test=all mesa
==> Error: argument of type 'bool' is not iterable

the full stacktrace is:

$ spack -d install --test=all mesa
$ spack -d install --test=all mesa
==> [2020-11-25-06:00:43.245416] Imported install from built-in commands
==> [2020-11-25-06:00:43.247920] Reading config file /home/culpo/PycharmProjects/spack/etc/spack/defaults/config.yaml
==> [2020-11-25-06:00:43.281755] Reading config file /home/culpo/.spack/config.yaml
==> [2020-11-25-06:00:43.284750] Imported install from built-in commands
==> [2020-11-25-06:00:43.290039] Reading config file /home/culpo/PycharmProjects/spack/etc/spack/defaults/repos.yaml
==> [2020-11-25-06:00:44.668260] Reading config file /home/culpo/.spack/linux/compilers.yaml
==> [2020-11-25-06:00:44.813981] Reading config file /home/culpo/PycharmProjects/spack/etc/spack/defaults/packages.yaml
==> [2020-11-25-06:00:44.850561] Reading config file /home/culpo/.spack/packages.yaml
Traceback (most recent call last):
  File "/home/culpo/PycharmProjects/spack/bin/spack", line 66, in <module>
    sys.exit(spack.main.main())
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/main.py", line 762, in main
    return _invoke_command(command, parser, args, unknown)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/main.py", line 490, in _invoke_command
    return_val = command(parser, args)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/cmd/install.py", line 302, in install
    specs = spack.cmd.parse_specs(
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/cmd/__init__.py", line 164, in parse_specs
    spec.concretize(tests=tests)  # implies normalize
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/spec.py", line 2469, in concretize
    self._new_concretize(tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/spec.py", line 2445, in _new_concretize
    result = spack.solver.asp.solve([self], tests=tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/solver/asp.py", line 1838, in solve
    return driver.solve(setup, specs, dump, models, timers, stats, tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/solver/asp.py", line 620, in solve
    solver_setup.setup(self, specs, tests=tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/solver/asp.py", line 1484, in setup
    self.pkg_rules(pkg, tests=tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/solver/asp.py", line 901, in pkg_rules
    self.package_dependencies_rules(pkg, tests)
  File "/home/culpo/PycharmProjects/spack/lib/spack/spack/solver/asp.py", line 920, in package_dependencies_rules
    if t == 'test' and (not tests or pkg.name not in tests):
TypeError: argument of type 'bool' is not iterable

With the old concretizer there's an infinite recursion:

$ spack  install --test=all mesa
==> Error: maximum recursion depth exceeded while calling a Python object

Information on your system

  • Spack: 0.16.0-59-408824f365
  • Python: 3.8.6
  • Platform: linux-ubuntu18.04-broadwell
  • Concretizer: original, clingo

Additional information

Error originally reported by @vvolkl on Slack

  • 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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions