config generates infinite recursion when getting inherited properties
The following configuration will generate infinite recursion when getting an inherited property
__init__.yml
sessions.yml
EH
`- motion.yml
Example:
from bliss.config.static import get_config
config = get_config()
th_config = config.get_config('th')
th_config.get_inherited('toto') # Infinite recursion here!
th_config.parent.parent == config.root # True, as expected
config.root.parent is None # False ! Unexpected: root has a parent!
th_config.parent.parent == th_config.parent.parent.parent.parent # True ! Unexpected
Hint: Deleting __init__.yml
or sessions.yml
makes the problem disappear.
I suspect that the parent of the node in sessions.yml
is the node in __init__.yml
and its parent is the node in sessions.yml
which generates the infinite recursion.