Console Output
11:45:22 Started by upstream project "Krel_trigger-jobs" build number 69011 11:45:22 originally caused by: 11:45:22 Started by upstream project "Krel_reconfigure-jobs" build number 2094 11:45:22 originally caused by: 11:45:22 Started by user SYSTEM 11:45:24 Building remotely on build client 3 (slave buildslave indigo_devel_default) in workspace /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source 11:45:24 [ssh-agent] Looking for ssh-agent implementation... 11:45:24 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 11:45:24 $ ssh-agent 11:45:24 SSH_AUTH_SOCK=/tmp/ssh-rMNQ9iekcFm2/agent.22217 11:45:24 SSH_AGENT_PID=22219 11:45:24 [ssh-agent] Started. 11:45:24 $ ssh-add /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source@tmp/private_key_2836406991869801604.key 11:45:24 Identity added: /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source@tmp/private_key_2836406991869801604.key (/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source@tmp/private_key_2836406991869801604.key) 11:45:24 [ssh-agent] Using credentials jenkins-slave11:45:24 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson3877262291534615267.sh 11:45:25 + echo # BEGIN SECTION: docker version1. Check free disk spaceHide Details
11:45:24 # BEGIN SECTION: Check free disk space 11:45:24 Usable disk space = 11254435840 bytes 11:45:24 Free space threshold = 5368709120 bytes 11:45:24 # END SECTION11:45:25 + echo # BEGIN SECTION: docker info2. docker versionHide Details
11:45:25 # BEGIN SECTION: docker version 11:45:25 + docker version 11:45:25 Client: 11:45:25 Version: 1.9.1 11:45:25 API version: 1.21 11:45:25 Go version: go1.4.2 11:45:25 Git commit: a34a1d5 11:45:25 Built: Fri Nov 20 13:12:04 UTC 2015 11:45:25 OS/Arch: linux/amd64 11:45:25 11:45:25 Server: 11:45:25 Version: 1.9.1 11:45:25 API version: 1.21 11:45:25 Go version: go1.4.2 11:45:25 Git commit: a34a1d5 11:45:25 Built: Fri Nov 20 13:12:04 UTC 2015 11:45:25 OS/Arch: linux/amd64 11:45:25 + echo # END SECTION 11:45:25 # END SECTION11:45:25 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson24097686936409261.sh 11:45:25 + echo # BEGIN SECTION: Check docker status3. docker infoHide Details
11:45:25 # BEGIN SECTION: docker info 11:45:25 + docker info 11:45:25 Containers: 498 11:45:25 Images: 2732 11:45:25 Server Version: 1.9.1 11:45:25 Storage Driver: aufs 11:45:25 Root Dir: /var/lib/docker/aufs 11:45:25 Backing Filesystem: extfs 11:45:25 Dirs: 4302 11:45:25 Dirperm1 Supported: false 11:45:25 Execution Driver: native-0.2 11:45:25 Logging Driver: json-file 11:45:25 Kernel Version: 3.13.0-29-generic 11:45:25 Operating System: Ubuntu 14.04 LTS 11:45:25 CPUs: 2 11:45:25 Total Memory: 3.861 GiB 11:45:25 Name: lcas-buildfarm-slave-3 11:45:25 ID: LZSS:PF7G:CREH:TEQW:FH57:3M6D:KCSS:ODQY:SPHA:ND7A:FHYG:PNDE 11:45:25 WARNING: No swap limit support 11:45:25 + echo # END SECTION 11:45:25 # END SECTION11:45:30 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson6843621529563600739.sh 11:45:30 + echo # BEGIN SECTION: Embed wrapper scripts4. Check docker statusHide Details
11:45:25 # BEGIN SECTION: Check docker status 11:45:25 + echo Testing trivial docker invocation... 11:45:25 Testing trivial docker invocation... 11:45:25 + docker run --rm ubuntu:xenial true 11:45:25 Unable to find image 'ubuntu:xenial' locally 11:45:27 xenial: Pulling from library/ubuntu 11:45:27 Digest: sha256:ef5df89a674b97317814a4bad78e6f1ad0b51d372647b82d251c04227db89421 11:45:27 Status: Downloaded newer image for ubuntu:xenial 11:45:29 + echo 'docker run' returned 0 11:45:29 'docker run' returned 0 11:45:30 docker seems operational, continuing 11:45:30 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson6588500539767646232.sh 11:45:30 + echo # END SECTION 11:45:30 # END SECTION11:45:30 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson2699970717580206511.sh 11:45:30 + echo # BEGIN SECTION: Clone ros_buildfarm5. Embed wrapper scriptsHide Details
11:45:30 # BEGIN SECTION: Embed wrapper scripts 11:45:30 + rm -fr wrapper_scripts 11:45:30 + mkdir wrapper_scripts 11:45:30 + printf #!/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()) 11:45:30 + echo # END SECTION 11:45:30 # END SECTION11:45:32 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson8605783081681612054.sh 11:45:32 + echo # BEGIN SECTION: Write PGP repository keys6. Clone ros_buildfarmHide Details
11:45:30 # BEGIN SECTION: Clone ros_buildfarm 11:45:30 + rm -fr ros_buildfarm 11:45:30 + python3 -u wrapper_scripts/git.py clone --depth 1 -b master https://github.com/lcas/ros_buildfarm.git ros_buildfarm 11:45:30 Invoking 'git clone --depth 1 -b master https://github.com/lcas/ros_buildfarm.git ros_buildfarm' 11:45:30 Cloning into 'ros_buildfarm'... 11:45:32 + git -C ros_buildfarm --no-pager log -n 1 11:45:32 commit aca918fa40d6391d4894b39d8d3477d2e6e0a390 11:45:32 Author: Marc Hanheide <marc@hanheide.de> 11:45:32 Date: Thu Aug 2 12:13:42 2018 +0100 11:45:32 11:45:32 added cleanup 11:45:32 + rm -fr ros_buildfarm/.git 11:45:32 + rm -fr ros_buildfarm/doc 11:45:32 + echo # END SECTION 11:45:32 # END SECTION11:45:32 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson40839753769168913.sh 11:45:32 + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb 11:45:32 + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb 11:45:32 + sleep 1 11:45:32 + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/ros_buildfarm/scripts/subprocess_reaper.py 22488 --cid-file /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb/docker.cid 11:45:33 + echo # BEGIN SECTION: Generate Dockerfile - sourcedeb task7. Write PGP repository keysHide Details
11:45:32 # BEGIN SECTION: Write PGP repository keys 11:45:32 + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys 11:45:32 + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys/* 11:45:32 + echo -----BEGIN PGP PUBLIC KEY BLOCK----- 11:45:32 Version: GnuPG v1.4.11 (GNU/Linux) 11:45:32 11:45:32 mQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn 11:45:32 MsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf 11:45:32 xcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw 11:45:32 kPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv 11:45:32 /o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh 11:45:32 EBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg 11:45:32 KFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD 11:45:32 BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX 11:45:32 yQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI 11:45:32 7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy 11:45:32 JjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T 11:45:32 Yh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++ 11:45:32 Cut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ 11:45:32 cvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM 11:45:32 hU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3 11:45:32 IWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm 11:45:32 Z4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK 11:45:32 7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb 11:45:32 oRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC 11:45:32 AAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U 11:45:32 NTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0 11:45:32 ikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU 11:45:32 M7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N 11:45:32 l9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ 11:45:32 Chb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ== 11:45:32 =nFcN 11:45:32 -----END PGP PUBLIC KEY BLOCK----- 11:45:32 11:45:32 + echo -----BEGIN PGP PUBLIC KEY BLOCK----- 11:45:32 Version: GnuPG v1 11:45:32 11:45:32 mQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F 11:45:32 WzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz 11:45:32 lt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I 11:45:32 D3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr 11:45:32 JuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe 11:45:32 giITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn 11:45:32 jIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ 11:45:32 FtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl 11:45:32 CUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk 11:45:32 ZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC 11:45:32 CAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ 11:45:32 jQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd 11:45:32 xwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0 11:45:32 SWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b 11:45:32 dceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6 11:45:32 K0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz 11:45:32 lIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y 11:45:32 UtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d 11:45:32 eu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF 11:45:32 yn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd 11:45:32 cYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q 11:45:32 ul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI 11:45:32 YmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru 11:45:32 sB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg 11:45:32 x9o= 11:45:32 =AGYp 11:45:32 -----END PGP PUBLIC KEY BLOCK----- 11:45:32 11:45:32 + echo # END SECTION 11:45:32 # END SECTION11:45:33 + echo # BEGIN SECTION: Build Dockerfile - generate sourcedeb8. Generate Dockerfile - sourcedeb taskHide Details
11:45:33 # BEGIN SECTION: Generate Dockerfile - sourcedeb task 11:45:33 + export TZ=GMT+00 11:45:33 + export PYTHONPATH=/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/ros_buildfarm: 11:45:33 + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/ros_buildfarm/scripts/release/run_sourcedeb_job.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic thorvald_can_devices ubuntu xenial --distribution-repository-urls http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --distribution-repository-key-files /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys/0.key /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys/1.key --source-dir /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/sourcedeb/source --dockerfile-dir /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb 11:45:33 Using the following distribution repositories: 11:45:33 http://10.210.9.154/ubuntu/building (/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys/0.key) 11:45:33 http://packages.ros.org/ros/ubuntu (/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/keys/1.key) 11:45:33 Generating Dockerfile '/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb/Dockerfile': 11:45:33 # generated from release/sourcedeb_task.Dockerfile.em 11:45:33 11:45:33 FROM ubuntu:xenial 11:45:33 11:45:33 VOLUME ["/var/cache/apt/archives"] 11:45:33 11:45:33 ENV DEBIAN_FRONTEND noninteractive 11:45:33 11:45:33 RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done 11:45:33 RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen 11:45:33 RUN locale-gen en_US.UTF-8 11:45:33 ENV LANG en_US.UTF-8 11:45:33 ENV TZ GMT+00 11:45:33 11:45:33 RUN useradd -u 1002 -m buildfarm 11:45:33 11:45:33 11:45:33 RUN mkdir /tmp/keys 11:45:33 RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\nmQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn\nMsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf\nxcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw\nkPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv\n/o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh\nEBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg\nKFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD\nBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX\nyQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI\n7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy\nJjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T\nYh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++\nCut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ\ncvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM\nhU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3\nIWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm\nZ4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK\n7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb\noRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC\nAAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U\nNTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0\nikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU\nM7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N\nl9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ\nChb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ==\n=nFcN\n-----END PGP PUBLIC KEY BLOCK----- \n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key 11:45:33 RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F\nWzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz\nlt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I\nD3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr\nJuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe\ngiITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn\njIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ\nFtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl\nCUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk\nZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC\nCAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ\njQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd\nxwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0\nSWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b\ndceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6\nK0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz\nlIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y\nUtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d\neu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF\nyn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd\ncYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q\nul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI\nYmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru\nsB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg\nx9o=\n=AGYp\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/1.key && apt-key add /tmp/keys/1.key 11:45:33 RUN echo deb http://10.210.9.154/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list 11:45:33 RUN echo deb http://packages.ros.org/ros/ubuntu xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list 11:45:33 11:45:33 RUN mkdir /tmp/wrapper_scripts 11:45:33 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 '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 ]\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('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\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 11:45:33 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 11:45:33 11:45:33 # automatic invalidation once every day 11:45:33 RUN echo "2019-06-04 (+0000)" 11:45:33 11:45:33 RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done 11:45:33 11:45:33 RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y debhelper dpkg dpkg-dev git git-buildpackage python3-catkin-pkg-modules python3-rosdistro-modules python3-yaml 11:45:33 11:45:33 COPY .git-credentials /home/buildfarm/.git-credentials 11:45:33 RUN chmod 600 /home/buildfarm/.git-credentials 11:45:33 RUN chown buildfarm /home/buildfarm/.git-credentials 11:45:33 11:45:33 USER buildfarm 11:45:33 RUN git config --global credential.helper 'store' 11:45:33 RUN git config --global http.sslVerify false 11:45:33 11:45:33 ENTRYPOINT ["sh", "-c"] 11:45:33 CMD ["PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/get_sources.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic thorvald_can_devices ubuntu xenial http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --source-dir /tmp/sourcedeb/source && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/build_sourcedeb.py ubuntu xenial --source-dir /tmp/sourcedeb/source"] 11:45:33 + echo # END SECTION 11:45:33 # END SECTION11:46:20 + echo # BEGIN SECTION: Run Dockerfile - generate sourcedeb9. Build Dockerfile - generate sourcedebHide Details
11:45:33 # BEGIN SECTION: Build Dockerfile - generate sourcedeb 11:45:33 + cd /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb 11:45:33 + cp -L **** /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb/.git-credentials 11:45:33 + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/ros_buildfarm/scripts/misc/docker_pull_baseimage.py 11:45:33 Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial 11:45:33 Check docker base image for updates: docker pull ubuntu:xenial 11:45:34 xenial: Pulling from library/ubuntu 11:45:34 Digest: sha256:ef5df89a674b97317814a4bad78e6f1ad0b51d372647b82d251c04227db89421 11:45:34 Status: Image is up to date for ubuntu:xenial 11:45:34 + docker build --force-rm -t sourcedeb.kinetic_ubuntu_xenial_thorvald_can_devices . 11:45:34 Sending build context to Docker daemon 18.43 kB Sending build context to Docker daemon 18.43 kB 11:45:35 Step 1 : FROM ubuntu:xenial 11:45:35 ---> bd1cb16e606c 11:45:35 Step 2 : VOLUME /var/cache/apt/archives 11:45:35 ---> Using cache 11:45:35 ---> ce2dddce0bab 11:45:35 Step 3 : ENV DEBIAN_FRONTEND noninteractive 11:45:36 ---> Using cache 11:45:36 ---> 1d23345426fa 11:45:36 Step 4 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done 11:45:37 ---> Using cache 11:45:37 ---> 625e86ac581c 11:45:37 Step 5 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen 11:45:39 ---> Using cache 11:45:39 ---> c0916e41ddc6 11:45:39 Step 6 : RUN locale-gen en_US.UTF-8 11:45:41 ---> Using cache 11:45:41 ---> 298496b6657e 11:45:41 Step 7 : ENV LANG en_US.UTF-8 11:45:42 ---> Using cache 11:45:42 ---> 1b2b1df83aa9 11:45:42 Step 8 : ENV TZ GMT+00 11:45:44 ---> Using cache 11:45:44 ---> 5ac38e94c677 11:45:44 Step 9 : RUN useradd -u 1002 -m buildfarm 11:45:46 ---> Using cache 11:45:46 ---> 2c61e47ff7a2 11:45:46 Step 10 : RUN mkdir /tmp/keys 11:45:47 ---> Using cache 11:45:47 ---> 2932f88c5b73 11:45:47 Step 11 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\nmQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn\nMsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf\nxcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw\nkPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv\n/o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh\nEBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg\nKFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD\nBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX\nyQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI\n7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy\nJjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T\nYh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++\nCut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ\ncvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM\nhU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3\nIWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm\nZ4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK\n7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb\noRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC\nAAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U\nNTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0\nikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU\nM7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N\nl9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ\nChb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ==\n=nFcN\n-----END PGP PUBLIC KEY BLOCK----- \n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key 11:45:49 ---> Using cache 11:45:49 ---> 7c828b2424c8 11:45:49 Step 12 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F\nWzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz\nlt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I\nD3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr\nJuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe\ngiITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn\njIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ\nFtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl\nCUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk\nZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC\nCAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ\njQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd\nxwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0\nSWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b\ndceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6\nK0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz\nlIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y\nUtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d\neu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF\nyn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd\ncYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q\nul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI\nYmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru\nsB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg\nx9o=\n=AGYp\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/1.key && apt-key add /tmp/keys/1.key 11:45:51 ---> Using cache 11:45:51 ---> c1f892ac14b0 11:45:51 Step 13 : RUN echo deb http://10.210.9.154/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list 11:45:52 ---> Using cache 11:45:52 ---> 9d1e4f64f292 11:45:52 Step 14 : RUN echo deb http://packages.ros.org/ros/ubuntu xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list 11:45:54 ---> Using cache 11:45:54 ---> 0d5146f44252 11:45:54 Step 15 : RUN mkdir /tmp/wrapper_scripts 11:45:56 ---> Using cache 11:45:56 ---> 8cf6cd72121b 11:45:56 Step 16 : 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 '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 ]\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('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\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 11:45:57 ---> Using cache 11:45:57 ---> b8a5578c5132 11:45:57 Step 17 : 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 11:45:59 ---> Using cache 11:45:59 ---> 1cb2ac3bb9c3 11:45:59 Step 18 : RUN echo "2019-06-04 (+0000)" 11:46:01 ---> Using cache 11:46:01 ---> cb8fd38def79 11:46:01 Step 19 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done 11:46:02 ---> Using cache 11:46:02 ---> ca368ebb2d8b 11:46:02 Step 20 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y debhelper dpkg dpkg-dev git git-buildpackage python3-catkin-pkg-modules python3-rosdistro-modules python3-yaml 11:46:04 ---> Using cache 11:46:04 ---> d6f5f3aad463 11:46:04 Step 21 : COPY .git-credentials /home/buildfarm/.git-credentials 11:46:06 ---> Using cache 11:46:06 ---> 7a9b197fded4 11:46:06 Step 22 : RUN chmod 600 /home/buildfarm/.git-credentials 11:46:08 ---> Using cache 11:46:08 ---> 38f27af40465 11:46:08 Step 23 : RUN chown buildfarm /home/buildfarm/.git-credentials 11:46:10 ---> Using cache 11:46:10 ---> 5de55e3a3eaf 11:46:10 Step 24 : USER buildfarm 11:46:12 ---> Using cache 11:46:12 ---> f36fd33afcd0 11:46:12 Step 25 : RUN git config --global credential.helper 'store' 11:46:13 ---> Using cache 11:46:13 ---> 9e2766a87219 11:46:13 Step 26 : RUN git config --global http.sslVerify false 11:46:15 ---> Using cache 11:46:15 ---> 97fc233278d8 11:46:15 Step 27 : ENTRYPOINT sh -c 11:46:17 ---> Using cache 11:46:17 ---> 5a51b47c44aa 11:46:17 Step 28 : CMD PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/get_sources.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic thorvald_can_devices ubuntu xenial http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --source-dir /tmp/sourcedeb/source && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/build_sourcedeb.py ubuntu xenial --source-dir /tmp/sourcedeb/source 11:46:19 ---> Running in 79399a7942b1 11:46:20 ---> 7dcb54bc5619 11:46:20 Removing intermediate container 79399a7942b1 11:46:20 Successfully built 7dcb54bc5619 11:46:20 + echo # END SECTION 11:46:20 # END SECTION11:46:44 [Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson4331866666732038792.sh 11:46:44 + [ false = false ] 11:46:44 + echo # BEGIN SECTION: Clean up to save disk space on slaves10. Run Dockerfile - generate sourcedebHide Details
11:46:20 # BEGIN SECTION: Run Dockerfile - generate sourcedeb 11:46:20 + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/sourcedeb 11:46:20 + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/sourcedeb/source 11:46:20 + docker run --rm --cidfile=/home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/docker_sourcedeb/docker.cid -e=TRAVIS= --net=host -v /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/ros_buildfarm:/tmp/ros_buildfarm:ro -v /home/jenkins-slave/workspace/Ksrc_uX__thorvald_can_devices__ubuntu_xenial__source/sourcedeb:/tmp/sourcedeb sourcedeb.kinetic_ubuntu_xenial_thorvald_can_devices10.1. get sourcesHide Details
11:46:21 # BEGIN SUBSECTION: get sources 11:46:30 Invoking 'git clone --branch debian/ros-kinetic-thorvald-can-devices_1.1.0-1_xenial --depth 1 --no-single-branch https://github.com/LCAS/thorvald-releases.git /tmp/sourcedeb/source' 11:46:30 Cloning into '/tmp/sourcedeb/source'... 11:46:35 Note: checking out '0482755fcbab752990cc607effade8ac54e928fa'. 11:46:35 11:46:35 You are in 'detached HEAD' state. You can look around, make experimental 11:46:35 changes and commit them, and you can discard any commits you make in this 11:46:35 state without impacting any branches by performing another checkout. 11:46:35 11:46:35 If you want to create a new branch to retain commits you create, you may 11:46:35 do so (now or later) by using -b with the checkout command again. Example: 11:46:35 11:46:35 git checkout -b <new-branch-name> 11:46:35 11:46:35 dpkg-parsechangelog: warning: debian/changelog(l5): found trailer where expected start of change data 11:46:35 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:35 No tarball found at 'http://10.210.9.154/ubuntu/building/pool/main/r/ros-kinetic-thorvald-can-devices/ros-kinetic-thorvald-can-devices_1.1.0.orig.tar.gz' 11:46:36 No tarball found at 'http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-thorvald-can-devices/ros-kinetic-thorvald-can-devices_1.1.0.orig.tar.gz' 11:46:36 Package 'thorvald_can_devices' version: 1.1.0-1xenial 11:46:36 Package maintainer emails: lgrimstad@sagarobotics.com 11:46:36 # END SUBSECTION11:46:44 + echo # END SECTION 11:46:44 # END SECTION10.2. build sourcedebHide Details
11:46:36 # BEGIN SUBSECTION: build sourcedeb 11:46:36 Invoking 'gbp buildpackage --git-ignore-new --git-ignore-branch -S -us -uc --lintian-opts --suppress-tags newer-standards-version' in '/tmp/sourcedeb/source' 11:46:37 gbp:warning: Old style config section [git-buildpackage] found please rename to [buildpackage] 11:46:39 gbp:info: ros-kinetic-thorvald-can-devices_1.1.0.orig.tar.gz does not exist, creating from 'release/kinetic/thorvald_can_devices/1.1.0-1' 11:46:39 debuild: warning: debian/changelog(l5): found trailer where expected start of change data 11:46:39 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:39 dpkg-buildpackage -rfakeroot -d -us -uc -i -I -S 11:46:39 dpkg-buildpackage: warning: debian/changelog(l5): found trailer where expected start of change data 11:46:39 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:39 dpkg-buildpackage: source package ros-kinetic-thorvald-can-devices 11:46:39 dpkg-buildpackage: source version 1.1.0-1xenial 11:46:39 dpkg-buildpackage: source distribution xenial 11:46:39 dpkg-buildpackage: source changed by Lars Grimstad <lgrimstad@sagarobotics.com> 11:46:39 dpkg-source -i -I --before-build source 11:46:39 dpkg-source: info: using options from source/debian/source/options: --auto-commit 11:46:39 dpkg-source: warning: source/debian/changelog(l5): found trailer where expected start of change data 11:46:39 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:39 fakeroot debian/rules clean 11:46:40 dh clean -v --buildsystem=cmake 11:46:40 dh_testdir -O-v -O--buildsystem=cmake 11:46:40 dh_auto_clean -O-v -O--buildsystem=cmake 11:46:40 dh_clean -O-v -O--buildsystem=cmake 11:46:40 rm -f debian/debhelper-build-stamp 11:46:40 rm -f debian/ros-kinetic-thorvald-can-devices.substvars 11:46:40 rm -f debian/ros-kinetic-thorvald-can-devices.*.debhelper 11:46:40 rm -rf debian/ros-kinetic-thorvald-can-devices/ 11:46:40 rm -rf debian/.debhelper/ 11:46:40 rm -f debian/*.debhelper.log 11:46:40 rm -f debian/files 11:46:40 find . \( \( \ 11:46:40 \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS \) -prune -o -type f -a \ 11:46:40 \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ 11:46:40 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ 11:46:40 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ 11:46:40 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ 11:46:40 \) -exec rm -f {} + \) -o \ 11:46:40 \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \) 11:46:40 rm -f *-stamp 11:46:40 dpkg-source -i -I -b source 11:46:40 dpkg-source: info: using options from source/debian/source/options: --auto-commit 11:46:40 dpkg-source: warning: source/debian/changelog(l5): found trailer where expected start of change data 11:46:40 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:40 dpkg-source: info: using source format '3.0 (quilt)' 11:46:40 dpkg-source: info: building ros-kinetic-thorvald-can-devices using existing ./ros-kinetic-thorvald-can-devices_1.1.0.orig.tar.gz 11:46:40 dpkg-source: warning: source/debian/changelog(l5): found trailer where expected start of change data 11:46:40 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:41 dpkg-source: info: building ros-kinetic-thorvald-can-devices in ros-kinetic-thorvald-can-devices_1.1.0-1xenial.debian.tar.xz 11:46:41 dpkg-source: info: building ros-kinetic-thorvald-can-devices in ros-kinetic-thorvald-can-devices_1.1.0-1xenial.dsc 11:46:41 dpkg-genchanges -S >../ros-kinetic-thorvald-can-devices_1.1.0-1xenial_source.changes 11:46:41 dpkg-genchanges: warning: debian/changelog(l5): found trailer where expected start of change data 11:46:41 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:41 dpkg-genchanges: warning: debian/changelog(l5): found trailer where expected start of change data 11:46:41 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:41 dpkg-genchanges: warning: debian/changelog(l11): found trailer where expected start of change data 11:46:41 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Mon, 08 Apr 2019 00:00:00 -0000 11:46:41 dpkg-genchanges: including full source code in upload 11:46:41 dpkg-source -i -I --after-build source 11:46:41 dpkg-source: info: using options from source/debian/source/options: --auto-commit 11:46:41 dpkg-source: warning: source/debian/changelog(l5): found trailer where expected start of change data 11:46:41 LINE: -- Lars Grimstad <lgrimstad@sagarobotics.com> Tue, 04 Jun 2019 00:00:00 -0000 11:46:41 dpkg-buildpackage: full upload (original source is included) 11:46:41 Now running lintian... 11:46:43 W: ros-kinetic-thorvald-can-devices source: pear-package-without-pkg-php-tools-builddep 11:46:43 W: ros-kinetic-thorvald-can-devices source: no-debian-copyright 11:46:43 W: ros-kinetic-thorvald-can-devices source: ancient-standards-version 3.9.2 (current is 3.9.7) 11:46:43 Finished running lintian. 11:46:43 # END SUBSECTION11:46:44 SSH: Connecting from host [lcas-buildfarm-slave-3] 11:46:44 SSH: Connecting with configuration [repo] ... 11:46:44 SSH: Disconnecting configuration [repo] ... 11:46:44 SSH: Transferred 4 file(s) 11:46:44 Build step 'Send files or execute commands over SSH' changed build result to SUCCESS 11:46:44 Waiting for the completion of Krel_import-package 11:46:46 Krel_import-package #4614 completed. Result was SUCCESS11. Clean up to save disk space on slavesHide Details
11:46:44 # BEGIN SECTION: Clean up to save disk space on slaves 11:46:44 + rm -fr sourcedeb/source 11:46:44 + echo # END SECTION 11:46:44 # END SECTION11:46:46 $ ssh-agent -k 11:46:46 unset SSH_AUTH_SOCK; 11:46:46 unset SSH_AGENT_PID; 11:46:46 echo Agent pid 22219 killed; 11:46:46 [ssh-agent] Stopped. 11:46:46 [description-setter] Description set: 1.1.0-1xenial 11:46:46 Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered 11:46:46 Triggering a new build of Kbin_uX64__thorvald_can_devices__ubuntu_xenial_amd64__binary 11:46:46 Finished: SUCCESS12. Check if triggered build failedHide Details
11:46:46 # BEGIN SECTION: Check if triggered build failed 11:46:46 Pattern not found in build log, continuing... 11:46:46 # END SECTION