concretization: fix transient hang in python 3.5

Bug relates to the interplay between:
1. random dict orders in python 3.5
2. bugfix in initial implementation of stacks for `_concretize_dependencies`
   when `self._dependencies` is empty
3. bug in coconcretization algorithm computation of split specs

Result was transient hang in coconcretization.
Fixed #3 (bug in coconcretization) to resolve.
This commit is contained in:
Gregory Becker 2019-07-17 13:46:36 -05:00 committed by Todd Gamblin
parent ec6e5b0fd3
commit ba0cd4d912

View file

@ -500,7 +500,8 @@ def make_concretization_repository(abstract_specs):
# Split recursive specs, as it seems the concretizer has issue # Split recursive specs, as it seems the concretizer has issue
# respecting conditions on dependents expressed like # respecting conditions on dependents expressed like
# depends_on('foo ^bar@1.0'), see issue #11160 # depends_on('foo ^bar@1.0'), see issue #11160
split_specs = [dep for spec in abstract_specs split_specs = [dep.copy(deps=False)
for spec in abstract_specs
for dep in spec.traverse(root=True)] for dep in spec.traverse(root=True)]
with open(os.path.join(pkg_dir, 'package.py'), 'w') as f: with open(os.path.join(pkg_dir, 'package.py'), 'w') as f: