Build failed in Jenkins: Kdev__gtsam__ubuntu_xenial_amd64 #318

1 view
Skip to first unread message

ROS Buildfarm

unread,
May 30, 2021, 2:51:07 AM5/30/21
to ros-buildf...@googlegroups.com, tfoote+b...@osrfoundation.org, gt...@lists.gatech.edu
See <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/318/display/redirect>

Changes:


------------------------------------------
[...truncated 9.68 KB...]
quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
WE+F5FaIKwb72PL4rLi4
=i0tj
-----END PGP PUBLIC KEY BLOCK-----

+ echo # END SECTION
# END SECTION
[Kdev__gtsam__ubuntu_xenial_amd64] $ /bin/sh -xe /tmp/jenkins7503944787881826933.sh
+ rm -fr <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers>
+ mkdir -p <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers>
+ sleep 1
+ python3 -u <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 2351217 --cid-file <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers/docker.cid>
+ export build_tool_args=
+ export build_tool_test_args=
+ echo # BEGIN SECTION: Generate Dockerfile - devel tasks
# BEGIN SECTION: Generate Dockerfile - devel tasks
+ export TZ=PST+08
+ export PYTHONPATH=<https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm>:
+ python3 -u <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/devel/run_devel_job.py> --rosdistro-index-url https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml kinetic default gtsam ubuntu xenial amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/keys/0.key> --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers> --build-tool-args --build-tool-test-args
Using the following distribution repositories:
http://repositories.ros.org/ubuntu/building (<https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/keys/0.key)>
Generating Dockerfile '<https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers/Dockerfile'>:
# generated from devel/devel_create_tasks.Dockerfile.em

FROM ubuntu:xenial

VOLUME ["/var/cache/apt/archives"]

ENV DEBIAN_FRONTEND noninteractive

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV TZ PST+08

RUN useradd -u 1001 -l -m buildfarm


RUN mkdir /tmp/keys
RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
RUN echo deb http://repositories.ros.org/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list

RUN mkdir /tmp/wrapper_scripts
RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py

# automatic invalidation once every day
RUN echo "2021-05-29 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2021-05-29 22:50:48 -0800"
RUN python3 -u /tmp/wrapper_scripts/apt.py update

ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

RUN rosdep init

USER buildfarm

ENTRYPOINT ["sh", "-c"]
CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Build Dockerfile - generating devel tasks
# BEGIN SECTION: Build Dockerfile - generating devel tasks
+ cd <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers>
+ python3 -u <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/misc/docker_pull_baseimage.py>
Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial
Check docker base image for updates: docker pull ubuntu:xenial
xenial: Pulling from library/ubuntu
Digest: sha256:9775877f420d453ef790e6832d77630a49b32a92b7bedf330adf4d8669f6600e
Status: Image is up to date for ubuntu:xenial
docker.io/library/ubuntu:xenial
+ docker build --force-rm -t devel_task_generation.kinetic_gtsam .
Sending build context to Docker daemon 15.87kB
Step 1/25 : FROM ubuntu:xenial
---> 9ff95a467e45
Step 2/25 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> 8cf7d798b447
Step 3/25 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> 570f4f1aa5b3
Step 4/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 60e4d3f1b5bf
Step 5/25 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 1852d4aa0a1d
Step 6/25 : RUN locale-gen en_US.UTF-8
---> Using cache
---> d8ee8915eb32
Step 7/25 : ENV LANG en_US.UTF-8
---> Using cache
---> 504152ee56a0
Step 8/25 : ENV TZ PST+08
---> Using cache
---> a38fb77d1868
Step 9/25 : RUN useradd -u 1001 -l -m buildfarm
---> Using cache
---> aaafe1475fb6
Step 10/25 : RUN mkdir /tmp/keys
---> Using cache
---> 4b4d2495452c
Step 11/25 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> ea19b441728e
Step 12/25 : RUN echo deb http://repositories.ros.org/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 87d13c5f281b
Step 13/25 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 6064ae341e4c
Step 14/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> dd0f11643434
Step 15/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> b97cf9862b49
Step 16/25 : RUN echo "2021-05-29 (-0800)"
---> Using cache
---> 981ca487f3ec
Step 17/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 9c6b98dc8ec0
Step 18/25 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget
---> Using cache
---> b2ba9882aacd
Step 19/25 : RUN echo "2021-05-29 22:50:48 -0800"
---> Running in 4e781fe00fd7
2021-05-29 22:50:48 -0800
Removing intermediate container 4e781fe00fd7
---> 84f0ccaddf2d
Step 20/25 : RUN python3 -u /tmp/wrapper_scripts/apt.py update
---> Running in 10435a614169
Invoking 'apt-get update'
Hit:1 http://repositories.ros.org/ubuntu/building xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Hit:3 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [2,559 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [1,544 kB]
Fetched 4,428 kB in 2s (2,171 kB/s)
Reading package lists...
Removing intermediate container 10435a614169
---> 6aa4999999c4
Step 21/25 : ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
---> Running in 7b4ab4a298c9
Removing intermediate container 7b4ab4a298c9
---> 83307668ebb3
Step 22/25 : RUN rosdep init
---> Running in 5fcc4ca387cf
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

rosdep update

Removing intermediate container 5fcc4ca387cf
---> d01deaeda99e
Step 23/25 : USER buildfarm
---> Running in e776cc4d7f90
Removing intermediate container e776cc4d7f90
---> d873acb767e4
Step 24/25 : ENTRYPOINT ["sh", "-c"]
---> Running in 0708cfb83487
Removing intermediate container 0708cfb83487
---> 2a2e24446ba4
Step 25/25 : CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
---> Running in 281e2a856b6b
Removing intermediate container 281e2a856b6b
---> 6f212893c4c3
Successfully built 6f212893c4c3
Successfully tagged devel_task_generation.kinetic_gtsam:latest
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Run Dockerfile - generating devel tasks
# BEGIN SECTION: Run Dockerfile - generating devel tasks
+ rm -fr <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_install>
+ rm -fr <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_test>
+ mkdir -p <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_install>
+ mkdir -p <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_test>
+ docker run --rm --cidfile=<https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers/docker.cid> -e=HOME=/home/buildfarm -e=TRAVIS= -e=ROS_BUILDFARM_PULL_REQUEST_BRANCH= -v <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm>:/tmp/ros_buildfarm:ro -v <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ws>:/tmp/ws:ro -v <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_install>:/tmp/docker_build_and_install -v <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_build_and_test>:/tmp/docker_build_and_test devel_task_generation.kinetic_gtsam
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Add distro "dashing"
Skip end-of-life distro "eloquent"
Add distro "foxy"
Add distro "galactic"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Skip end-of-life distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/buildfarm/.ros/rosdep/sources.cache
Crawling for packages in workspace '/tmp/ws/src'
Found the following packages:
- gtsam
Package maintainer emails: gt...@lists.gatech.edu
Traceback (most recent call last):
File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 288, in resolve_names
rosdep_key, view, installer, os_name, os_code_name)
File "/usr/lib/python3/dist-packages/rosdep2/catkin_support.py", line 87, in resolve_for_os
d = view.lookup(rosdep_key)
File "/usr/lib/python3/dist-packages/rosdep2/lookup.py", line 200, in lookup
return self.rosdep_defs[rosdep_name]
KeyError: 'catkin'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 304, in <module>
main()
File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 126, in main
debian_pkg_names += resolve_names(['catkin'], **context)
File "/tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py", line 291, in resolve_names
"Could not resolve the rosdep key '%s'" % rosdep_key)
RuntimeError: Could not resolve the rosdep key 'catkin'
Build step 'Execute shell' marked build as failure
[CMakeGNU C Compiler (gcc)] Skipping execution of recorder since overall result is 'FAILURE'
INFO: Processing GoogleTest-1.8
INFO: [GoogleTest-1.8] - No test report file(s) were found with the pattern 'ws/test_results/**/*.xml' relative to '<https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/'> for the testing framework 'GoogleTest-1.8'.
Did you enter a pattern relative to (and within) the workspace directory?
Did you generate the result report(s) for 'GoogleTest-1.8'?"
WARNING: All test reports are empty.
INFO: Check 'Failed Tests' threshold.
INFO: Check 'Skipped Tests' threshold.
INFO: Setting the build status to FAILURE

ROS Buildfarm

unread,
May 31, 2021, 1:50:33 AM5/31/21
to ros-buildf...@googlegroups.com, tfoote+b...@osrfoundation.org, gt...@lists.gatech.edu
See <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/319/display/redirect>

Changes:


------------------------------------------
[...truncated 9.49 KB...]
Qucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR
fKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0
quoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1
1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6
qjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA
TUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo
22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6
WE+F5FaIKwb72PL4rLi4
=i0tj
-----END PGP PUBLIC KEY BLOCK-----

+ echo # END SECTION
# END SECTION
[Kdev__gtsam__ubuntu_xenial_amd64] $ /bin/sh -xe /tmp/jenkins7969935054539389639.sh
+ python3 -u <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/subprocess_reaper.py> 41508 --cid-file <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers/docker.cid>
RUN echo "2021-05-30 (-0800)"

RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done

RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget

# always invalidate to actually have the latest apt and rosdep state
RUN echo "2021-05-30 21:50:18 -0800"
RUN python3 -u /tmp/wrapper_scripts/apt.py update

ENV ROSDISTRO_INDEX_URL https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml

RUN rosdep init

USER buildfarm

ENTRYPOINT ["sh", "-c"]
CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
+ echo # END SECTION
# END SECTION
+ echo # BEGIN SECTION: Build Dockerfile - generating devel tasks
# BEGIN SECTION: Build Dockerfile - generating devel tasks
+ cd <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/docker_generating_dockers>
+ python3 -u <https://build.ros.org/job/Kdev__gtsam__ubuntu_xenial_amd64/ws/ros_buildfarm/scripts/misc/docker_pull_baseimage.py>
Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial
Check docker base image for updates: docker pull ubuntu:xenial
xenial: Pulling from library/ubuntu
Digest: sha256:9775877f420d453ef790e6832d77630a49b32a92b7bedf330adf4d8669f6600e
Status: Image is up to date for ubuntu:xenial
docker.io/library/ubuntu:xenial
+ docker build --force-rm -t devel_task_generation.kinetic_gtsam .
Sending build context to Docker daemon 15.87kB
Step 1/25 : FROM ubuntu:xenial
---> 9ff95a467e45
Step 2/25 : VOLUME ["/var/cache/apt/archives"]
---> Using cache
---> 8d81745110af
Step 3/25 : ENV DEBIAN_FRONTEND noninteractive
---> Using cache
---> e1ca259f5a4a
Step 4/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 8e27d125a5a0
Step 5/25 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
---> Using cache
---> 923f7625e2f1
Step 6/25 : RUN locale-gen en_US.UTF-8
---> Using cache
---> 04dde111b884
Step 7/25 : ENV LANG en_US.UTF-8
---> Using cache
---> d14b29ef8844
Step 8/25 : ENV TZ PST+08
---> Using cache
---> 8157a36cc5ce
Step 9/25 : RUN useradd -u 1001 -l -m buildfarm
---> Using cache
---> 3ec53bc6f4a8
Step 10/25 : RUN mkdir /tmp/keys
---> Using cache
---> dcc6573e0c32
Step 11/25 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jc\nVFrQhE0L/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3tro\nu5oCR+SyHN9xPnUwDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4\nK/AY0jzT6OpHfXU6ytlFsI47ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rG\naIoAWlx2H0J7sAHmqS29N9jV9mo135d+d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+\nTwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS6nHrWH2WqQxRbiITl0irkQoz\npwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBNqoAQRbvWvBhPjO/p\nV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL8bwxX7UT\nhM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVV\nokdGpcUzvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQAB\ntCZPcGVuIFJvYm90aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQgA\nPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBMHPbjHmut6IaLFytPQu1vur\nF8ZUBQJgsdhRBQkLTMW7AAoJEPQu1vurF8ZUTMwP/3f7EkOPIFjUdRmpNJ2db4iB\nRQu5b2SJRG+KIdbvQBzKUBMV6/RUhEDPjhXZI3zDevzBewvAMKkqs2Q1cWo9WV7Z\nPyTkvSyey/Tjn+PozcdvzkvrEjDMftIk8E1WzLGq7vnPLZ1q/b6Vq4H373Z+EDWa\nDaDwW72CbCBLWAVtqff80CwlI2x8fYHKr3VBUnwcXNHR4+nRABfAWnaU4k+oTshC\nQucsd8vitNfsSXrKuKyz91IRHRPnJjx8UvGU4tRGfrHkw1505EZvgP02vXeRyWBR\nfKiL1vGy4tCSRDdZO3ms2J2m08VPv65HsHaWYMnO+rNJmMZj9d9JdL/9GRf5F6U0\nquoIFL39BhUEvBynuqlrqistnyOhw8W/IQy/ymNzBMcMz6rcMjMwhkgm/LNXoSD1\n1OrJu4ktQwRhwvGVarnB8ihwjsTxZFylaLmFSfaA+OAlOqCLS1OkIVMzjW+Ul6A6\nqjiCEUOsnlf4CGlhzNMZOx3low6ixzEqKOcfECpeIj80a2fBDmWkcAAjlHu6VBhA\nTUDG9e2xKLzV2Z/DLYsb3+n9QW7KO0yZKfiuUo6AYboAioQKn5jh3iRvjGh2Ujpo\n22G+oae3PcCc7G+z12j6xIY709FQuA49dA2YpzMda0/OX4LP56STEveDRrO+CnV6\nWE+F5FaIKwb72PL4rLi4\n=i0tj\n-----END PGP PUBLIC KEY BLOCK-----" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key
---> Using cache
---> 70bfce9383cd
Step 12/25 : RUN echo deb http://repositories.ros.org/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
---> Using cache
---> 330387d46dec
Step 13/25 : RUN mkdir /tmp/wrapper_scripts
---> Using cache
---> 0fc43cb3b6d9
Step 14/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Failed to stat',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n 'has no installation candidate',\n 'corrupted package archive',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py
---> Using cache
---> 46f62fe40c5d
Step 15/25 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py
---> Using cache
---> 9fa96d298db0
Step 16/25 : RUN echo "2021-05-30 (-0800)"
---> Using cache
---> 83573ef40b80
Step 17/25 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done
---> Using cache
---> 02dd9ac7f26b
Step 18/25 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y git python3-apt python3-catkin-pkg-modules python3-empy python3-rosdep python3-rosdistro-modules wget
---> Using cache
---> 14baf1c76781
Step 19/25 : RUN echo "2021-05-30 21:50:18 -0800"
---> Running in 63590dc39353
2021-05-30 21:50:18 -0800
Removing intermediate container 63590dc39353
---> f3979757f5fc
Step 20/25 : RUN python3 -u /tmp/wrapper_scripts/apt.py update
---> Running in db7332d6b25f
Invoking 'apt-get update'
Hit:1 http://repositories.ros.org/ubuntu/building xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Hit:3 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Fetched 325 kB in 1s (276 kB/s)
Reading package lists...
Removing intermediate container db7332d6b25f
---> 2cc01a523bed
---> Running in 558dd2beaaff
Removing intermediate container 558dd2beaaff
---> 71d6613a5cc9
Step 22/25 : RUN rosdep init
---> Running in 5794e70c2ac5
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

rosdep update

Removing intermediate container 5794e70c2ac5
---> ef2313b3058b
Step 23/25 : USER buildfarm
---> Running in 3b7b33777747
Removing intermediate container 3b7b33777747
---> d61b91b008d5
Step 24/25 : ENTRYPOINT ["sh", "-c"]
---> Running in 09ca6d011712
Removing intermediate container 09ca6d011712
---> c56a6df6f75f
Step 25/25 : CMD ["rosdep update && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_install --build-tool-args && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/devel/create_devel_task_generator.py --rosdistro-name kinetic --workspace-root /tmp/ws --os-name ubuntu --os-code-name xenial --arch amd64 --distribution-repository-urls http://repositories.ros.org/ubuntu/building --distribution-repository-key-files /tmp/keys/0.key --build-tool catkin_make_isolated --ros-version 1 --env-vars ROS_PYTHON_VERSION=2 --dockerfile-dir /tmp/docker_build_and_test --testing --build-tool-args --build-tool-test-args "]
---> Running in 0299966dcbee
Removing intermediate container 0299966dcbee
---> 7e57da616710
Successfully built 7e57da616710
Reply all
Reply to author
Forward
0 new messages