# rosinstall inifinite recursion problem

Hi,

I am using rosinstall-0.5.16. I am troubled by a infinite recursion when calling rosinstall. (in python script /usr/local/bin/rosinstall line 518). I am puzzled by this behaviour that appeared only recently.

My rosinstall config file (stripped down to the offending lines) is

  - other: {local-name: /opt/ros/diamondback/ros}
- other: {local-name: /opt/ros/diamondback/stacks}


and I believe, I am doing something wrong here. I get the following error when calling

$rosinstall . my.rosinstall [...] File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 202, in __init__ self.load_yaml(self.source, self.source_uri) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 229, in load_yaml child_config = Config(rosinstall.helpers.get_yaml_from_uri(rosinstall_uri), local_path) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 202, in __init__ self.load_yaml(self.source, self.source_uri) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 229, in load_yaml child_config = Config(rosinstall.helpers.get_yaml_from_uri(rosinstall_uri), local_path) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 202, in __init__ self.load_yaml(self.source, self.source_uri) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/EGG-INFO/scripts/rosinstall", line 229, in load_yaml child_config = Config(rosinstall.helpers.get_yaml_from_uri(rosinstall_uri), local_path) File "/usr/local/lib/python2.6/dist-packages/rosinstall-0.5.16-py2.6.egg/rosinstall/helpers.py", line 63, in get_yaml_from_uri y = yaml.load(f); File "/usr/lib/python2.6/dist-packages/yaml/__init__.py", line 58, in load return loader.get_single_data() File "/usr/lib/python2.6/dist-packages/yaml/constructor.py", line 42, in get_single_data node = self.get_single_node() File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 36, in get_single_node document = self.compose_document() File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 55, in compose_document node = self.compose_node(None, None) File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 82, in compose_node node = self.compose_sequence_node(anchor) File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 111, in compose_sequence_node node.value.append(self.compose_node(node, index)) File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 84, in compose_node node = self.compose_mapping_node(anchor) File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 133, in compose_mapping_node item_value = self.compose_node(node, item_key) File "/usr/lib/python2.6/dist-packages/yaml/composer.py", line 64, in compose_node if self.check_event(AliasEvent): File "/usr/lib/python2.6/dist-packages/yaml/parser.py", line 93, in check_event self.current_event = self.state() File "/usr/lib/python2.6/dist-packages/yaml/parser.py", line 444, in parse_block_mapping_value if not self.check_token(KeyToken, ValueToken, BlockEndToken): File "/usr/lib/python2.6/dist-packages/yaml/scanner.py", line 116, in check_token self.fetch_more_tokens() File "/usr/lib/python2.6/dist-packages/yaml/scanner.py", line 252, in fetch_more_tokens return self.fetch_plain() File "/usr/lib/python2.6/dist-packages/yaml/scanner.py", line 672, in fetch_plain self.save_possible_simple_key() File "/usr/lib/python2.6/dist-packages/yaml/scanner ... edit retag close merge delete ## 2 Answers Sort by » oldest newest most voted There's an open ticket with this symptom. It's caused by a .rosinstall in the parent directory. more Your rosinstall file looks good. Are you, by chance, executing rosinstall . my.rosinstall in a subdirectory of /opt/ros/diamondback? Try the following: mkdir$HOME/ros
rosinstall \$HOME/ros my.rosinstall


You need to make sure that rosinstall doesn't find a file named .rosinstall from the directory you are calling rosinstall on up to your filesystem root.

more

Nope, I never modify /opt/ros/diamondback. The hint with the .rosinstall file in the parent did the trick.
( 2011-06-14 22:16:18 -0500 )edit