Skip to content

hpctoolkit os=ubuntu18.04 : 'NoneType' object has no attribute 'microarchitecture' #15306

@eugeneswalker

Description

@eugeneswalker

UPDATE (alalazo): The issue can be reproduced outside of environments:

$ spack spec hpctoolkit os=ubuntu18.04
Input spec
--------------------------------
hpctoolkit arch=linux-ubuntu18.04-None

Concretized
--------------------------------
==> Error: 'NoneType' object has no attribute 'microarchitecture'

and is related to concretization.


Using Docker image spack/ubuntu-bionic for x86_64 and Spack develop @ fddb3f2 .

Place the attached Spack environment file into a directory by itself. Rename it to spack.yaml and then run the following sequence of commands in the directory where the spack.yaml is in order to reproduce the issue:

Step 1

$> spack install patchelf
... install succeeds

Step 2

$> spack install
==> Error: 'NoneType' object has no attribute 'microarchitecture'

Full stack trace from Step 2:

Traceback (most recent call last):
  File "/root/spack/bin/spack", line 64, in <module>
    sys.exit(spack.main.main())
  File "/root/spack/lib/spack/spack/main.py", line 763, in main
    return _invoke_command(command, parser, args, unknown)
  File "/root/spack/lib/spack/spack/main.py", line 488, in _invoke_command
    return_val = command(parser, args)
  File "/root/spack/lib/spack/spack/cmd/install.py", line 273, in install
    concretized_specs = env.concretize()
  File "/root/spack/lib/spack/spack/environment.py", line 948, in concretize
    return self._concretize_separately()
  File "/root/spack/lib/spack/spack/environment.py", line 1016, in _concretize_separately
    concrete = _concretize_from_constraints(uspec_constraints)
  File "/root/spack/lib/spack/spack/environment.py", line 1554, in _concretize_from_constraints
    return s.concretized()
  File "/root/spack/lib/spack/spack/spec.py", line 2298, in concretized
    clone.concretize()
  File "/root/spack/lib/spack/spack/spec.py", line 2148, in concretize
    user_spec_deps=user_spec_deps),
  File "/root/spack/lib/spack/spack/spec.py", line 2626, in normalize
    visited, all_spec_deps, provider_index, tests)
  File "/root/spack/lib/spack/spack/spec.py", line 2552, in _normalize_helper
    dep = self._evaluate_dependency_conditions(dep_name)
  File "/root/spack/lib/spack/spack/spec.py", line 2375, in _evaluate_dependency_conditions
    if self.satisfies(when_spec, strict=True):
  File "/root/spack/lib/spack/spack/spec.py", line 2879, in satisfies
    if not self.architecture.satisfies(other.architecture, strict):
  File "/root/spack/lib/spack/spack/spec.py", line 360, in satisfies
    return self._satisfies_target(other.target, strict=strict)
  File "/root/spack/lib/spack/spack/spec.py", line 383, in _satisfies_target
    min_ok = self_target.microarchitecture >= t_min if t_min else True
AttributeError: 'NoneType' object has no attribute 'microarchitecture'

CC @gartung

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions