Skip to content

spack test: Spec.package can only be called on concrete specs #35519

@adamjstewart

Description

@adamjstewart

Steps to reproduce

Unclear exactly which packages are required to reproduce this. I have a massive environment I'm testing:

spack:
  specs:
  - gdal
  - opencv
  - py-black
  - py-cartopy
  - py-cmocean
  - py-einops
  - py-fiona
  - py-flake8
  - py-geocube
  - py-geopandas
  - py-h5py
  - py-ipywidgets
  - py-isort
  - py-jax
  - py-kornia
  - py-laspy
  - py-matplotlib
  - py-mypy
  - py-nbmake
  - py-nbsphinx
  - py-netcdf4
  - py-numpy
  - py-omegaconf
  - py-pandas
  - py-pillow-simd
  - py-pycocotools
  - py-pydocstyle
  - py-pygeos
  - py-pyproj
  - py-pyro-ppl
  - py-pytest
  - py-pytest-cov
  - py-pytorch-lightning
  - py-pytorch-sphinx-theme
  - py-pyupgrade
  - py-radiant-mlhub
  - py-rarfile
  - py-rasterio
  - py-rtree
  - py-setuptools
  - py-scikit-image
  - py-scikit-learn
  - py-scipy
  - py-segmentation-models-pytorch
  - py-shapely
  - py-sphinx
  - py-tensorboard
  - py-timm
  - py-torch
  - py-torchmetrics
  - py-torchvision
  - py-xarray
  - py-zipfile-deflate64
  view: true
  concretizer:
    unify: true

I run spack install and spack test run.

Error message

$ spack -d test run
...
==> [2023-02-16-11:55:18.673419] Installing /projects/dali/spack/var/spack/repos/builtin/packages/openjdk/package.py to /home/adamjs5/.spack/test/32ccsglunnecbl3oi2fztym6ti6alinu/repo/openjdk
==> [2023-02-16-11:55:18.677207] Installing /projects/dali/spack/var/spack/repos/builtin/packages/cuda/package.py to /home/adamjs5/.spack/test/32ccsglunnecbl3oi2fztym6ti6alinu/repo/cuda
Traceback (most recent call last):
  File "/projects/dali/spack/bin/spack", line 54, in <module>
    sys.exit(main())
  File "/projects/dali/spack/lib/spack/spack_installable/main.py", line 37, in main
    sys.exit(spack.main.main(argv))
  File "/projects/dali/spack/lib/spack/spack/main.py", line 1004, in main
    return _main(argv)
  File "/projects/dali/spack/lib/spack/spack/main.py", line 959, in _main
    return finish_parse_and_run(parser, cmd_name, env_format_error)
  File "/projects/dali/spack/lib/spack/spack/main.py", line 987, in finish_parse_and_run
    return _invoke_command(command, parser, args, unknown)
  File "/projects/dali/spack/lib/spack/spack/main.py", line 636, in _invoke_command
    return_val = command(parser, args)
  File "/projects/dali/spack/lib/spack/spack/cmd/test.py", line 476, in test
    globals()["test_%s" % args.test_command](args)
  File "/projects/dali/spack/lib/spack/spack/cmd/test.py", line 226, in test_run
    externals=args.externals,
  File "/projects/dali/spack/lib/spack/spack/install_test.py", line 169, in __call__
    self.write_reproducibility_data()
  File "/projects/dali/spack/lib/spack/spack/install_test.py", line 393, in write_reproducibility_data
    spack.repo.path.dump_provenance(vspec, repo_cache_path)
  File "/projects/dali/spack/lib/spack/spack/repo.py", line 304, in converter
    return function(self, spec_like, *args, **kwargs)
  File "/projects/dali/spack/lib/spack/spack/repo.py", line 859, in dump_provenance
    return self.repo_for_pkg(spec).dump_provenance(spec, path)
  File "/projects/dali/spack/lib/spack/spack/repo.py", line 304, in converter
    return function(self, spec_like, *args, **kwargs)
  File "/projects/dali/spack/lib/spack/spack/repo.py", line 1068, in dump_provenance
    for patch in itertools.chain.from_iterable(spec.package.patches.values()):
  File "/projects/dali/spack/lib/spack/spack/spec.py", line 1615, in package
    assert self.concrete, "Spec.package can only be called on concrete specs"
AssertionError: Spec.package can only be called on concrete specs

I tried spack clean -m in case the cache contained an old patch that no longer existed but it didn't help.

Information on your system

  • Spack: 0.20.0.dev0
  • Python: 3.6.8
  • Platform: linux-rhel7-zen3
  • Concretizer: clingo

@tldahlgren

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingstand-alone-testsStand-alone (or smoke) tests for installed packagestriageThe issue needs to be prioritized

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions