It seems different versions of python3-catkin-pkg-modules
are distributed on packages.ros.org.
Therefore, when I tried to install python3-catkin-pkg-modules
, sometimes it fails, and sometimes succeeds.
Environment
- Ubuntu 18.04
- ROS Melodic
How to reproduce the problem
$ docker run --rm -it ubuntu:18.04 /bin/sh
# apt update && apt install -y lsb-release gnupg
# sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
# apt update
# apt install -y python3-catkin-pkg-modules
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
docutils-common libfreetype6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libpaper-utils libpaper1
libpng16-16 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 multiarch-support python3-dateutil
python3-docutils python3-olefile python3-pil python3-pkg-resources python3-pygments python3-pyparsing
python3-roman python3-six sgml-base tzdata ucf xml-core
Suggested packages:
liblcms2-utils docutils-doc fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french
texlive-latex-base texlive-latex-recommended python-pil-doc python3-pil-dbg python3-setuptools
ttf-bitstream-vera python-pyparsing-doc sgml-base-doc debhelper
The following NEW packages will be installed:
docutils-common libfreetype6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libpaper-utils libpaper1
libpng16-16 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 multiarch-support python3-catkin-pkg-modules
python3-dateutil python3-docutils python3-olefile python3-pil python3-pkg-resources python3-pygments
python3-pyparsing python3-roman python3-six sgml-base tzdata ucf xml-core
0 upgraded, 28 newly installed, 0 to remove and 16 not upgraded.
Need to get 42.0 kB/3179 kB of archives.
After this operation, 15.7 MB of additional disk space will be used.
Err:1 http://packages.ros.org/ros/ubuntu bionic/main amd64 python3-catkin-pkg-modules all 0.4.20-1
404 Not Found [IP: 64.50.236.52 80]
E: Failed to fetch http://packages.ros.org/ros/ubuntu/pool/main/p/python3-catkin-pkg-modules/python3-catkin-pkg-modules_0.4.20-1_all.deb 404 Not Found [IP: 64.50.236.52 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
# apt install -y python3-catkin-pkg-modules # try again
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
docutils-common libfreetype6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libpaper-utils libpaper1
libpng16-16 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 multiarch-support python3-dateutil
python3-docutils python3-olefile python3-pil python3-pkg-resources python3-pygments
python3-pyparsing python3-roman python3-six sgml-base tzdata ucf xml-core
Suggested packages:
liblcms2-utils docutils-doc fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french
texlive-latex-base texlive-latex-recommended python-pil-doc python3-pil-dbg python3-setuptools
ttf-bitstream-vera python-pyparsing-doc sgml-base-doc debhelper
The following NEW packages will be installed:
docutils-common libfreetype6 libjbig0 libjpeg-turbo8 libjpeg8 liblcms2-2 libpaper-utils libpaper1
libpng16-16 libtiff5 libwebp6 libwebpdemux2 libwebpmux3 multiarch-support python3-catkin-pkg-modules
python3-dateutil python3-docutils python3-olefile python3-pil python3-pkg-resources python3-pygments
python3-pyparsing python3-roman python3-six sgml-base tzdata ucf xml-core
0 upgraded, 28 newly installed, 0 to remove and 16 not upgraded.
Need to get 41.8 kB/3179 kB of archives.
After this operation, 15.7 MB of additional disk space will be used.
Get:1 http://packages.ros.org/ros/ubuntu bionic/main amd64 python3-catkin-pkg-modules all 0.4.18-1 [41.8 kB]
Fetched 41.8 kB in 6s (7383 B/s)
Investigation
I can see that there are three addresses for packages.ros.org.
$ host packages.ros.org
packages.ros.org is an alias for ftp.osuosl.org.
ftp.osuosl.org has address 64.50.233.100
ftp.osuosl.org has address 140.211.166.134
ftp.osuosl.org has address 64.50.236.52
ftp.osuosl.org has IPv6 address 2605:bc80:3010::134
ftp.osuosl.org has IPv6 address 2600:3402:200:227::2
ftp.osuosl.org has IPv6 address 2600:3404:200:237::2
These two have python3-catkin-pkg-modules_0.4.20-1_all.deb
.
- http://140.211.166.134/pub/ros-ubuntu/pool/main/p/python3-catkin-pkg-modules/
- http://64.50.233.100/pub/ros-ubuntu/pool/main/p/python3-catkin-pkg-modules/
However, 64.50.236.52
has python3-catkin-pkg-modules_0.4.18-1_all.deb
, and when DNS selected this address, it fails.
You can confirm the problem by directly downloading python3-catkin-pkg-modules_0.4.20-1_all.deb
.
$ docker run --rm -it ubuntu:18.04 /bin/sh
# apt update && apt install -y wget
# wget http://packages.ros.org/ros/ubuntu/pool/main/p/python3-catkin-pkg-modules/python3-catkin-pkg-modules_0.4.20-1_all.deb
--2020-05-18 11:38:32-- http://packages.ros.org/ros/ubuntu/pool/main/p/python3-catkin-pkg-modules/python3-catkin-pkg-modules_0.4.20-1_all.deb
Resolving packages.ros.org (packages.ros.org)... 64.50.236.52, 140.211.166.134, 64.50.233.100, ...
Connecting to packages.ros.org (packages.ros.org)|64.50.236.52|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-05-18 11:38:38 ERROR 404: Not Found.
# wget http://packages.ros.org/ros/ubuntu/pool/main/p/python3-catkin-pkg-modules/python3-catkin-pkg-modules_0.4.20-1_all.deb
--2020-05-18 11:38:40-- http://packages.ros.org/ros/ubuntu/pool/main/p/python3-catkin-pkg-modules/python3-catkin-pkg-modules_0.4.20-1_all.deb
Resolving packages.ros.org (packages.ros.org)... 140.211.166.134, 64.50.233.100, 64.50.236.52, ...
Connecting to packages.ros.org (packages.ros.org)|140.211.166.134|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 41968 (41K) [application/x-troff-man]
Saving to: 'python3-catkin-pkg-modules_0.4.20-1_all.deb'
python3-catkin-pkg-modules_0.4.20-1_all.deb 100%[=====================================================================================================================>] 40.98K 29.4KB/s in 1.4s
2020-05-18 11:38:47 (29.4 KB/s) - 'python3-catkin-pkg-modules_0.4.20-1_all.deb' saved [41968/41968]
Is this the correct state, or did I made any mistakes?
Originally posted by Kenji Miyake on ROS Answers with karma: 307 on 2020-05-18
Post score: 0
Original comments
Comment by gvdhoorn on 2020-05-18:
I've seen this as well, but for python3-vcstool
(ros-industrial/industrial_ci#509 and ros-industrial-consortium/tesseract#292).
I can see that there are three addresses for packages.ros.org.
this could be an issue with round-robin DNS and not all hosts being in-sync.
Is this the correct state, or did I made any mistakes?
No, I believe your analysis is correct.
We'll have to wait for either:
- the hosts to get back in sync by themselves, or
- the admin(s) of the hosts to force them to sync
@tfoote @nuclearsandwich?
Edit: now also on ROS Discourse: comment on Preparing for Kinetic Sync 2020-05-13.
Comment by Kenji Miyake on 2020-05-18:
Thank you for your quick reply. I'll watch the discourse thread.
Could you tell me whether this is an accidental problem or could happen regularly?
this could be an issue with round-robin DNS and not all hosts being in-sync.
Do you mean that this kind of problem can frequently happen right after releasing a new version?
If so, do you know about how long we should wait for syncing?
Also, what is the best way to let admins know the problem when I find it? (As you did, replying to the Preparing thread?)
Comment by gvdhoorn on 2020-05-18:\
Could you tell me whether this is an accidental problem or could happen regularly?
This is the first time this has happened, IIRC.
Do you mean that this kind of problem can frequently happen right after releasing a new version?
No, that's not what I meant. What I wrote is that it seems there is a round-robin DNS configuration and in this particular case one of the hosts involved in that seems to have gone out-of-sync with the others.
If so, do you know about how long we should wait for syncing?
I would not know.
Also, what is the best way to let admins know the problem when I find it?
Posting either here or on ROS Discourse, maybe in the Packaging and Release Management category. Or perhaps the Buildfarm category.
Comment by gvdhoorn on 2020-05-18:
Seems it's being worked on: Incident Report for ROS: packages.ros.org mirrors out of sync.
Comment by Kenji Miyake on 2020-05-18:
I understand, thank you! I'll wait for a while and check again after it's fixed.
Comment by Kenji Miyake on 2020-05-18:
Oh, now 64.50.236.52
seems to be synced. Will check other packages as well for just in case.
Comment by Kenji Miyake on 2020-05-18:
I've tried the installation of ROS melodic + colcon several times using docker, and it seems working correctly.