Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ament_xmllint stuck when no internet #448

Open
Kaetera opened this issue Aug 1, 2023 · 0 comments
Open

ament_xmllint stuck when no internet #448

Kaetera opened this issue Aug 1, 2023 · 0 comments

Comments

@Kaetera
Copy link

Kaetera commented Aug 1, 2023

Hello,

Context:

  • ROS2 Humble
  • Ubuntu 22.04.2, on VirtualBox

I have some network issues (among others preventing DDS discovery, but that's another story) leading me to switch from Ethernet to Wifi connection on my VM.
When on Wifi, when I call ament_xmllint from the CLI, it gets stuck for minutes (like 5-10minutes) before outputting a result (whether there is or not an lint error), while when on Ethernet, it completes in few seconds, on the same packages.
Same happens if I just unplug my Ethernet cable.

Expected behavior
ament_xmllint does not depends on network settings or connectivity and completes in few seconds.

Actual behavior
ament_xmllint is stuck for long minutes if I change my network settings.

Step to reproduce

  1. Disconnect from the internet, eg. by disabling WiFi and unplugging the Ethernet cable
  2. Run ament_xmllint src/my_package from the command line
  3. The command should be stuck as described

Additional information
If I ctrl-C when it's stuck, I get his trace:

me@mymachine:/mnt/xxx_shared$ ament_xmllint src/my_package
^C
Traceback (most recent call last):
  File "/opt/ros/humble/bin/ament_xmllint", line 33, in <module>
    sys.exit(load_entry_point('ament-xmllint==0.12.6', 'console_scripts', 'ament_xmllint')())
  File "/opt/ros/humble/lib/python3.10/site-packages/ament_xmllint/main.py", line 104, in main
    subprocess.check_output(
  File "/usr/lib/python3.10/subprocess.py", line 420, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.10/subprocess.py", line 503, in run
    stdout, stderr = process.communicate(input, timeout=timeout)
  File "/usr/lib/python3.10/subprocess.py", line 1139, in communicate
    stdout = self.stdout.read()
KeyboardInterrupt

Looking in the code I see URLs, would it try to download the schema every time and so be stuck on connectivity issues ?

moriarty added a commit to PickNikRobotics/ros2_robotiq_gripper that referenced this issue Feb 13, 2024
- I am disabling this for now it is failing in github actions not locally.
- Might be due to network issues in the containers ament/ament_lint#448

I will switch to a pre-commit hook for linting in a follow up PR.

Signed-off-by: Alex Moriarty <[email protected]>
moriarty added a commit to PickNikRobotics/ros2_robotiq_gripper that referenced this issue Feb 15, 2024
- I am disabling this for now it is failing in github actions not locally.
- Might be due to network issues in the containers ament/ament_lint#448

I will switch to a pre-commit hook for linting in a follow up PR.

Signed-off-by: Alex Moriarty <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant