Skip to content

Error with nodelet name on huskyΒ #498

@schmerl

Description

@schmerl

Seem to be assuming nodelet names follow xx/yy when they don't always.

ERROR: failure occurred when recovering node sources
Traceback (most recent call last):

  File "/code/scripts/recover-node-models.py", line 377, in <module>
    main()
    β”” <function main at 0x7f57d88c1700>

  File "/code/scripts/recover-node-models.py", line 371, in main
    recover_all(config)
    β”‚           β”” {'type': 'recovery', 'subject': 'husky', 'image': 'rosdiscover-experiments/husky:0.4.10', 'distro': 'melodic', 'build_command...
    β”” <function recover_all at 0x7f57d88c14c0>

  File "/code/scripts/recover-node-models.py", line 222, in recover_all
    package_node_to_sources = obtain_node_sources(experiment_config)
                              β”‚                   β”” {'type': 'recovery', 'subject': 'husky', 'image': 'rosdiscover-experiments/husky:0.4.10', 'distro': 'melodic', 'build_command...
                              β”” <function obtain_node_sources at 0x7f57d88c1430>

  File "/code/scripts/recover-node-models.py", line 203, in obtain_node_sources
    generate_node_sources(experiment_config)
    β”‚                     β”” {'type': 'recovery', 'subject': 'husky', 'image': 'rosdiscover-experiments/husky:0.4.10', 'distro': 'melodic', 'build_command...
    β”” <function generate_node_sources at 0x7f57d88c13a0>

> File "/code/scripts/recover-node-models.py", line 186, in generate_node_sources
    rosdiscover.cli.main(args)
    β”‚           β”‚   β”‚    β”” ['sources', '--save-to', '/code/experiments/recovery/subjects/husky/rosdiscover-config-with-sources.yml', '/tmp/tmptogwiyg2.r...
    β”‚           β”‚   β”” <function main at 0x7f57d88af550>
    β”‚           β”” <module 'rosdiscover.cli' from '/code/deps/rosdiscover/src/rosdiscover/cli.py'>
    β”” <module 'rosdiscover' from '/code/deps/rosdiscover/src/rosdiscover/__init__.py'>

  File "/code/deps/rosdiscover/src/rosdiscover/cli.py", line 356, in main
    parsed_args.func(parsed_args)
    β”‚           β”‚    β”” Namespace(config=<_io.TextIOWrapper name='/tmp/tmptogwiyg2.rosdiscover.yml' mode='r' encoding='UTF-8'>, save_to='/code/experi...
    β”‚           β”” <function sources at 0x7f57d88af3a0>
    β”” Namespace(config=<_io.TextIOWrapper name='/tmp/tmptogwiyg2.rosdiscover.yml' mode='r' encoding='UTF-8'>, save_to='/code/experi...

  File "/code/deps/rosdiscover/src/rosdiscover/cli.py", line 212, in sources
    config_with_sources = config.with_recovered_node_sources()
                          β”‚      β”” <function Config.with_recovered_node_sources at 0x7f57d82eb160>
                          β”” Config(image='rosdiscover-experiments/husky:0.4.10', sources=('/opt/ros/melodic/setup.bash', '/ros_ws/devel_isolated/setup.ba...

  File "/code/deps/rosdiscover/src/rosdiscover/config.py", line 235, in with_recovered_node_sources
    recovered_node_sources = self.find_node_sources()
                             β”‚    β”” <function Config.find_node_sources at 0x7f57d82eb1f0>
                             β”” Config(image='rosdiscover-experiments/husky:0.4.10', sources=('/opt/ros/melodic/setup.bash', '/ros_ws/devel_isolated/setup.ba...

  File "/code/deps/rosdiscover/src/rosdiscover/config.py", line 261, in find_node_sources
    for package_cmake_targets in ros.cmake_targets_for_all_packages():
                                 β”‚   β”” <function ROS1.cmake_targets_for_all_packages at 0x7f57d8e02310>
                                 β”” <roswire.ros1.ros1.ROS1 object at 0x7f57d89d3bb0>

  File "/code/deps/roswire/src/roswire/ros1/ros1.py", line 475, in cmake_targets_for_all_packages
    target_to_info = self.package_node_sources(package)
                     β”‚    β”‚                    β”” ROS1Package(name='gmapping', path='/ros_ws/src/slam_gmapping/gmapping', messages=(), services=(), actions=())
                     β”‚    β”” <function ROS1.package_node_sources at 0x7f57d8e02280>
                     β”” <roswire.ros1.ros1.ROS1 object at 0x7f57d89d3bb0>

  File "/code/deps/roswire/src/roswire/ros1/ros1.py", line 456, in package_node_sources
    return self.__package_source_extractor.get_cmake_info(
           β”” <roswire.ros1.ros1.ROS1 object at 0x7f57d89d3bb0>

  File "/code/deps/roswire/src/roswire/ros1/source.py", line 37, in get_cmake_info
    return self._info_from_cmakelists(cmakelists_path, package)
           β”‚    β”‚                     β”‚                β”” ROS1Package(name='gmapping', path='/ros_ws/src/slam_gmapping/gmapping', messages=(), services=(), actions=())
           β”‚    β”‚                     β”” '/ros_ws/src/slam_gmapping/gmapping/CMakeLists.txt'
           β”‚    β”” <function CMakeExtractor._info_from_cmakelists at 0x7f57d8e9cee0>
           β”” ROS1PackageSourceExtractor(_app_instance=AppInstance(_dockerblade=Container(daemon=DockerDaemon(url='unix://var/run/docker.so...

  File "/code/deps/roswire/src/roswire/common/source.py", line 196, in _info_from_cmakelists
    nodelet_libraries = self.get_nodelet_entrypoints(package)
                        β”‚    β”‚                       β”” ROS1Package(name='gmapping', path='/ros_ws/src/slam_gmapping/gmapping', messages=(), services=(), actions=())
                        β”‚    β”” <function CMakeExtractor.get_nodelet_entrypoints at 0x7f57d8e9ce50>
                        β”” ROS1PackageSourceExtractor(_app_instance=AppInstance(_dockerblade=Container(daemon=DockerDaemon(url='unix://var/run/docker.so...

  File "/code/deps/roswire/src/roswire/common/source.py", line 188, in get_nodelet_entrypoints
    return {info.name.split('/')[1] : info for info in nodelet_info.libraries}
                                                       β”‚            β”” {NodeletLibrary(path='lib/libslam_gmapping_nodelet', name='SlamGMappingNodelet', type_='SlamGMappingNodelet')}
                                                       β”” NodeletsInfo(libraries={NodeletLibrary(path='lib/libslam_gmapping_nodelet', name='SlamGMappingNodelet', type_='SlamGMappingNo...

  File "/code/deps/roswire/src/roswire/common/source.py", line 188, in <dictcomp>
    return {info.name.split('/')[1] : info for info in nodelet_info.libraries}
            β”‚    β”‚    β”‚               β”‚        β”” NodeletLibrary(path='lib/libslam_gmapping_nodelet', name='SlamGMappingNodelet', type_='SlamGMappingNodelet')
            β”‚    β”‚    β”‚               β”” NodeletLibrary(path='lib/libslam_gmapping_nodelet', name='SlamGMappingNodelet', type_='SlamGMappingNodelet')
            β”‚    β”‚    β”” <method 'split' of 'str' objects>
            β”‚    β”” 'SlamGMappingNodelet'
            β”” NodeletLibrary(path='lib/libslam_gmapping_nodelet', name='SlamGMappingNodelet', type_='SlamGMappingNodelet')

IndexError: list index out of range```

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions