-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Debian ruamel.yaml 0.15: Infinite Recoursion On Setup #9206
Copy link
Copy link
Closed
Labels
Description
Migrated out of #2495 (comment)
Just moving it out not to clutter it further.
I currently get an infinite recursion on a fresh copy of spack develop (ccbff6e) and removed $HOME/.spack directory on . share/spack/setup_env.sh in Debian 9.5 "stretch".
Steps to reproduce the issue
See docker image below. Basically, make sure to have a recent version of ruamel.yaml on your system.
Error Message
Traceback (most recent call last):
File "/home/axel/src/spack/bin/spack", line 54, in <module>
sys.exit(spack.main.main())
File "/home/axel/src/spack/lib/spack/spack/main.py", line 600, in main
print_setup_info(*args.print_shell_vars.split(','))
File "/home/axel/src/spack/lib/spack/spack/main.py", line 565, in print_setup_info
module_roots = spack.config.get('config:module_roots')
File "/home/axel/src/spack/lib/spack/spack/config.py", line 573, in get
return config.get(path, default, scope)
File "/home/axel/src/spack/lib/spack/llnl/util/lang.py", line 556, in __getattr__
return getattr(self.instance, name)
File "/home/axel/src/spack/lib/spack/llnl/util/lang.py", line 556, in __getattr__
return getattr(self.instance, name)
File "/home/axel/src/spack/lib/spack/llnl/util/lang.py", line 556, in __getattr__
return getattr(self.instance, name)
[Previous line repeated 318 more times]
File "/home/axel/src/spack/lib/spack/llnl/util/lang.py", line 552, in instance
self._instance = self.factory()
File "/home/axel/src/spack/lib/spack/spack/config.py", line 547, in _config
defaults = InternalConfigScope('_builtin', config_defaults)
File "/home/axel/src/spack/lib/spack/spack/config.py", line 238, in __init__
_validate_section({section: dsec}, section_schemas[section])
File "/home/axel/src/spack/lib/spack/spack/config.py", line 611, in _validate_section
_validate_section.validator(schema).validate(data)
File "/home/axel/src/spack/lib/spack/external/jsonschema/validators.py", line 67, in __init__
resolver = RefResolver.from_schema(schema)
File "/home/axel/src/spack/lib/spack/external/jsonschema/validators.py", line 260, in from_schema
return cls(schema.get(u"id", u""), schema, *args, **kwargs)
File "/home/axel/src/spack/lib/spack/external/jsonschema/validators.py", line 245, in __init__
for id, validator in iteritems(meta_schemas)
File "/home/axel/src/spack/lib/spack/external/jsonschema/_utils.py", line 20, in __init__
self.store.update(*args, **kwargs)
File "/home/axel/src/spack/lib/spack/external/jsonschema/validators.py", line 244, in <genexpr>
(id, validator.META_SCHEMA)
File "/home/axel/miniconda3/lib/python3.6/_collections_abc.py", line 744, in __iter__
yield (key, self._mapping[key])
File "/home/axel/src/spack/lib/spack/external/jsonschema/_utils.py", line 23, in __getitem__
return self.store[self.normalize(uri)]
File "/home/axel/src/spack/lib/spack/external/jsonschema/_utils.py", line 16, in normalize
return urlsplit(uri).geturl()
File "/home/axel/src/spack/lib/spack/external/jsonschema/compat.py", line 37, in urlsplit
scheme, netloc, path, query, fragment = _urlsplit(url)
File "/home/axel/miniconda3/lib/python3.6/urllib/parse.py", line 398, in urlsplit
url, scheme, _coerce_result = _coerce_args(url, scheme)
RecursionError: maximum recursion depth exceeded
Information on your system
Python 3.6.4 from Anaconda
ruamel.yaml 0.15.37
Debian 9.5
Reactions are currently unavailable