IllinoisRoboticsInSpace / IRIS

Illinois Robotics in Space 2022-2023 Season
https://iris.ae.illinois.edu/
8 stars 0 forks source link

BUG: Rosdep experienced an error: 'NoneType' object has no attribute 'strip' #14

Closed ttchalakov closed 8 months ago

ttchalakov commented 9 months ago

For some unfortunately unknown reason, running the following command from within the ~/colcon_ws directory

rosdep install --from-paths src --ignore-src --skip-keys=librealsense2 -r --rosdistro $ROS_DISTRO -y --include-eol-distros

produces the error

ERROR: Rosdep experienced an error: 'NoneType' object has no attribute 'strip'
Please go to the rosdep page [1] and file a bug report with the stack trace below.
[1] : http://www.ros.org/wiki/rosdep

rosdep version: 0.22.2

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 146, in rosdep_main
    exit_code = _rosdep_main(args)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 446, in _rosdep_main
    return _package_args_handler(command, parser, options, args)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 555, in _package_args_handler
    return command_handlers[command](lookup, packages, options)
  File "/usr/lib/python3/dist-packages/rosdep2/main.py", line 765, in command_install
    uninstalled, errors = installer.get_uninstalled(packages, implicit=options.recursive, verbose=options.verbose)
  File "/usr/lib/python3/dist-packages/rosdep2/installers.py", line 445, in get_uninstalled
    resolutions, errors = self.lookup.resolve_all(resources, installer_context, implicit=implicit)
  File "/usr/lib/python3/dist-packages/rosdep2/lookup.py", line 406, in resolve_all
    rosdep_keys = self.get_rosdeps(resource_name, implicit=implicit)
  File "/usr/lib/python3/dist-packages/rosdep2/lookup.py", line 324, in get_rosdeps
    return self.loader.get_rosdeps(resource_name, implicit=implicit)
  File "/usr/lib/python3/dist-packages/rosdep2/rospkg_loader.py", line 144, in get_rosdeps
    if resource_name in self.get_catkin_paths():
  File "/usr/lib/python3/dist-packages/rosdep2/rospkg_loader.py", line 133, in get_catkin_paths
    self._catkin_packages_cache = dict(find_catkin_paths(self._rospack))
  File "/usr/lib/python3/dist-packages/rosdep2/rospkg_loader.py", line 132, in find_catkin_paths
    filter(lambda x: src.get_manifest(x).is_catkin, src.list())]
  File "/usr/lib/python3/dist-packages/rospkg/rospack.py", line 196, in list
    self._update_location_cache()
  File "/usr/lib/python3/dist-packages/rospkg/rospack.py", line 188, in _update_location_cache
    list_by_path(self._manifest_name, path, cache)
  File "/usr/lib/python3/dist-packages/rospkg/rospack.py", line 78, in list_by_path
    resource_name = root.findtext('name').strip(' \n\r\t')
AttributeError: 'NoneType' object has no attribute 'strip'

Rosdep galactic documentation (link)

The only others thing that are know about this bug is that it appears after the script for setting up the PlatformIO development environment is run. This script is found in the repo at /MotorDriver/setup_pc.sh. Some ideas are to investigate which version of python is being used before and after the installation and to attempt to identify which command in setup_pc.sh makes the error occur. If nothing happens then it could also be that PlatformIO has somehow modified the development environment. The recommended course of action for debugging is to make a VM in VMWare, run the install_pc_deps.sh script, and save a copy of it before trying to investigate the effects of the /MotorDriver/setup_pc.sh script. This way you can always reopen a copy of the VM before you started to make changes.