I: pbuilder: network access will be disabled during build I: Current time: Mon Mar 28 07:58:05 +14 2022 I: pbuilder-time-stamp: 1648403885 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/buster-reproducible-base.tgz] I: copying local configuration I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [redis_5.0.14-1+deb10u2.dsc] I: copying [./redis_5.0.14.orig.tar.gz] I: copying [./redis_5.0.14-1+deb10u2.debian.tar.xz] I: Extracting source gpgv: unknown type of key resource 'trustedkeys.kbx' gpgv: keyblock resource '/root/.gnupg/trustedkeys.kbx': General error gpgv: Signature made Thu Feb 17 11:55:51 2022 +14 gpgv: using RSA key C2FE4BD271C139B86C533E461E953E27D4311E58 gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./redis_5.0.14-1+deb10u2.dsc dpkg-source: info: extracting redis in redis-5.0.14 dpkg-source: info: unpacking redis_5.0.14.orig.tar.gz dpkg-source: info: unpacking redis_5.0.14-1+deb10u2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 0001-fix-ftbfs-on-kfreebsd.patch dpkg-source: info: applying debian-packaging/0003-dpkg-buildflags.patch dpkg-source: info: applying debian-packaging/0007-Set-Debian-configuration-defaults.patch dpkg-source: info: applying 0010-Use-get_current_dir_name-over-PATHMAX-etc.patch dpkg-source: info: applying 0010-Add-support-for-USE_SYSTEM_JEMALLOC-flag.patch dpkg-source: info: applying 0011-Add-support-for-a-USE_SYSTEM_LUA-flag.patch dpkg-source: info: applying 0007-Add-support-for-a-USE_SYSTEM_HIREDIS-flag.patch dpkg-source: info: applying debian-packaging/0008-Ensure-we-use-the-modules-for-third-party-libraries.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2597/tmp/hooks/D01_modify_environment starting debug: Running on ionos2-i386. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash Removing 'diversion of /bin/sh to /bin/sh.distrib by dash' Adding 'diversion of /bin/sh to /bin/sh.distrib by bash' Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/2597/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/2597/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="i686-pc-linux-gnu") BASH_VERSION='5.0.3(1)-release' BUILDDIR=/build BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=i386 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=7' DIRSTACK=() DISTRIBUTION= EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=i686 HOST_ARCH=i386 IFS=' ' INVOCATION_ID=733d84e1b90d445a9539dcd223f5e41d LANG=C LANGUAGE=de_CH:de LC_ALL=C LD_LIBRARY_PATH=/usr/lib/libeatmydata LD_PRELOAD=libeatmydata.so MACHTYPE=i686-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=2597 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/tmp.s41oCvkXQ1/pbuilderrc_BSES --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/buster-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/tmp.s41oCvkXQ1/b2 --logfile b2/build.log redis_5.0.14-1+deb10u2.dsc' SUDO_GID=112 SUDO_UID=107 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://78.137.99.97:3128 I: uname -a Linux i-capture-the-hostname 5.10.0-12-686-pae #1 SMP Debian 5.10.103-1 (2022-03-07) i686 GNU/Linux I: ls -l /bin total 5476 -rwxr-xr-x 1 root root 1302248 Apr 18 2019 bash -rwxr-xr-x 3 root root 38280 Jul 11 2019 bunzip2 -rwxr-xr-x 3 root root 38280 Jul 11 2019 bzcat lrwxrwxrwx 1 root root 6 Jul 11 2019 bzcmp -> bzdiff -rwxr-xr-x 1 root root 2227 Jul 11 2019 bzdiff lrwxrwxrwx 1 root root 6 Jul 11 2019 bzegrep -> bzgrep -rwxr-xr-x 1 root root 4877 Jun 25 2019 bzexe lrwxrwxrwx 1 root root 6 Jul 11 2019 bzfgrep -> bzgrep -rwxr-xr-x 1 root root 3641 Jul 11 2019 bzgrep -rwxr-xr-x 3 root root 38280 Jul 11 2019 bzip2 -rwxr-xr-x 1 root root 17768 Jul 11 2019 bzip2recover lrwxrwxrwx 1 root root 6 Jul 11 2019 bzless -> bzmore -rwxr-xr-x 1 root root 1297 Jul 11 2019 bzmore -rwxr-xr-x 1 root root 38692 Mar 1 2019 cat -rwxr-xr-x 1 root root 75588 Mar 1 2019 chgrp -rwxr-xr-x 1 root root 63268 Mar 1 2019 chmod -rwxr-xr-x 1 root root 75588 Mar 1 2019 chown -rwxr-xr-x 1 root root 153732 Mar 1 2019 cp -rwxr-xr-x 1 root root 132820 Jan 18 2019 dash -rwxr-xr-x 1 root root 120676 Mar 1 2019 date -rwxr-xr-x 1 root root 92040 Mar 1 2019 dd -rwxr-xr-x 1 root root 100620 Mar 1 2019 df -rwxr-xr-x 1 root root 149736 Mar 1 2019 dir -rwxr-xr-x 1 root root 79412 Jan 10 2019 dmesg lrwxrwxrwx 1 root root 8 Sep 27 2018 dnsdomainname -> hostname lrwxrwxrwx 1 root root 8 Sep 27 2018 domainname -> hostname -rwxr-xr-x 1 root root 34532 Mar 1 2019 echo -rwxr-xr-x 1 root root 28 Jan 8 2019 egrep -rwxr-xr-x 1 root root 34532 Mar 1 2019 false -rwxr-xr-x 1 root root 28 Jan 8 2019 fgrep -rwxr-xr-x 1 root root 67700 Jan 10 2019 findmnt -rwsr-xr-x 1 root root 30112 Apr 23 2020 fusermount -rwxr-xr-x 1 root root 206392 Jan 8 2019 grep -rwxr-xr-x 2 root root 2345 Jan 6 2019 gunzip -rwxr-xr-x 1 root root 6375 Jan 6 2019 gzexe -rwxr-xr-x 1 root root 100952 Jan 6 2019 gzip -rwxr-xr-x 1 root root 21916 Sep 27 2018 hostname -rwxr-xr-x 1 root root 79752 Mar 1 2019 ln -rwxr-xr-x 1 root root 55400 Jul 27 2018 login -rwxr-xr-x 1 root root 149736 Mar 1 2019 ls -rwxr-xr-x 1 root root 112032 Jan 10 2019 lsblk -rwxr-xr-x 1 root root 87972 Mar 1 2019 mkdir -rwxr-xr-x 1 root root 79748 Mar 1 2019 mknod -rwxr-xr-x 1 root root 46916 Mar 1 2019 mktemp -rwxr-xr-x 1 root root 42348 Jan 10 2019 more -rwsr-xr-x 1 root root 50592 Jan 10 2019 mount -rwxr-xr-x 1 root root 13724 Jan 10 2019 mountpoint -rwxr-xr-x 1 root root 157832 Mar 1 2019 mv lrwxrwxrwx 1 root root 8 Sep 27 2018 nisdomainname -> hostname lrwxrwxrwx 1 root root 14 Feb 15 2019 pidof -> /sbin/killall5 -rwxr-xr-x 1 root root 38660 Mar 1 2019 pwd lrwxrwxrwx 1 root root 4 Apr 18 2019 rbash -> bash -rwxr-xr-x 1 root root 46852 Mar 1 2019 readlink -rwxr-xr-x 1 root root 75588 Mar 1 2019 rm -rwxr-xr-x 1 root root 42756 Mar 1 2019 rmdir -rwxr-xr-x 1 root root 22276 Jan 22 2019 run-parts -rwxr-xr-x 1 root root 125036 Dec 23 2018 sed lrwxrwxrwx 1 root root 4 Mar 28 07:58 sh -> bash lrwxrwxrwx 1 root root 4 Mar 8 00:12 sh.distrib -> dash -rwxr-xr-x 1 root root 34532 Mar 1 2019 sleep -rwxr-xr-x 1 root root 79652 Mar 1 2019 stty -rwsr-xr-x 1 root root 71072 Jan 10 2019 su -rwxr-xr-x 1 root root 34564 Mar 1 2019 sync -rwxr-xr-x 1 root root 504024 Apr 24 2019 tar -rwxr-xr-x 1 root root 13860 Jan 22 2019 tempfile -rwxr-xr-x 1 root root 104292 Mar 1 2019 touch -rwxr-xr-x 1 root root 34532 Mar 1 2019 true -rwxr-xr-x 1 root root 17768 Apr 23 2020 ulockmgr_server -rwsr-xr-x 1 root root 30108 Jan 10 2019 umount -rwxr-xr-x 1 root root 34532 Mar 1 2019 uname -rwxr-xr-x 2 root root 2345 Jan 6 2019 uncompress -rwxr-xr-x 1 root root 149736 Mar 1 2019 vdir -rwxr-xr-x 1 root root 34208 Jan 10 2019 wdctl -rwxr-xr-x 1 root root 946 Jan 22 2019 which lrwxrwxrwx 1 root root 8 Sep 27 2018 ypdomainname -> hostname -rwxr-xr-x 1 root root 1983 Jan 6 2019 zcat -rwxr-xr-x 1 root root 1677 Jan 6 2019 zcmp -rwxr-xr-x 1 root root 5879 Jan 6 2019 zdiff -rwxr-xr-x 1 root root 29 Jan 6 2019 zegrep -rwxr-xr-x 1 root root 29 Jan 6 2019 zfgrep -rwxr-xr-x 1 root root 2080 Jan 6 2019 zforce -rwxr-xr-x 1 root root 7584 Jan 6 2019 zgrep -rwxr-xr-x 1 root root 2205 Jan 6 2019 zless -rwxr-xr-x 1 root root 1841 Jan 6 2019 zmore -rwxr-xr-x 1 root root 4552 Jan 6 2019 znew I: user script /srv/workspace/pbuilder/2597/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 12), dpkg-dev (>= 1.17.14), libhiredis-dev (>= 0.14.0), libjemalloc-dev, liblua5.1-dev, lua-bitop-dev, lua-cjson-dev, procps, tcl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19234 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 12); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on libhiredis-dev (>= 0.14.0); however: Package libhiredis-dev is not installed. pbuilder-satisfydepends-dummy depends on libjemalloc-dev; however: Package libjemalloc-dev is not installed. pbuilder-satisfydepends-dummy depends on liblua5.1-dev; however: Package liblua5.1-dev is not installed. pbuilder-satisfydepends-dummy depends on lua-bitop-dev; however: Package lua-bitop-dev is not installed. pbuilder-satisfydepends-dummy depends on lua-cjson-dev; however: Package lua-cjson-dev is not installed. pbuilder-satisfydepends-dummy depends on procps; however: Package procps is not installed. pbuilder-satisfydepends-dummy depends on tcl; however: Package tcl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdmainutils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libbsd0{a} libcroco3{a} libelf1{a} libfile-stripnondeterminism-perl{a} libglib2.0-0{a} libhiredis-dev{a} libhiredis0.14{a} libicu63{a} libjemalloc-dev{a} libjemalloc2{a} liblua5.1-0{a} liblua5.1-0-dev{a} libmagic-mgc{a} libmagic1{a} libncurses-dev{a} libncurses6{a} libpipeline1{a} libprocps7{a} libreadline-dev{a} libreadline7{a} libsigsegv2{a} libtcl8.6{a} libtool{a} libuchardet0{a} libxml2{a} lsb-base{a} lua-bitop{a} lua-bitop-dev{a} lua-cjson{a} lua-cjson-dev{a} m4{a} man-db{a} po-debconf{a} procps{a} readline-common{a} sensible-utils{a} tcl{a} tcl8.6{a} The following packages are RECOMMENDED but will NOT be installed: curl libarchive-cpio-perl libglib2.0-data libgpm2 libltdl-dev libmail-sendmail-perl libtool-bin lynx pkg-config pkgconf psmisc shared-mime-info wget xdg-user-dirs 0 packages upgraded, 53 newly installed, 0 to remove and 0 not upgraded. Need to get 22.7 MB of archives. After unpacking 83.9 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian buster/main i386 libbsd0 i386 0.9.1-2+deb10u1 [104 kB] Get: 2 http://deb.debian.org/debian buster/main i386 bsdmainutils i386 11.1.2+b1 [193 kB] Get: 3 http://deb.debian.org/debian buster/main i386 libuchardet0 i386 0.0.6-3 [65.2 kB] Get: 4 http://deb.debian.org/debian buster/main i386 groff-base i386 1.22.4-3+deb10u1 [935 kB] Get: 5 http://deb.debian.org/debian buster/main i386 libpipeline1 i386 1.5.1-2 [33.3 kB] Get: 6 http://deb.debian.org/debian buster/main i386 man-db i386 2.8.5-2 [1284 kB] Get: 7 http://deb.debian.org/debian buster/main i386 libncurses6 i386 6.1+20181013-2+deb10u2 [109 kB] Get: 8 http://deb.debian.org/debian buster/main i386 libprocps7 i386 2:3.3.15-2 [62.7 kB] Get: 9 http://deb.debian.org/debian buster/main i386 lsb-base all 10.2019051400 [28.4 kB] Get: 10 http://deb.debian.org/debian buster/main i386 procps i386 2:3.3.15-2 [259 kB] Get: 11 http://deb.debian.org/debian buster/main i386 readline-common all 7.0-5 [70.6 kB] Get: 12 http://deb.debian.org/debian buster/main i386 sensible-utils all 0.0.12 [15.8 kB] Get: 13 http://deb.debian.org/debian buster/main i386 libmagic-mgc i386 1:5.35-4+deb10u2 [242 kB] Get: 14 http://deb.debian.org/debian buster/main i386 libmagic1 i386 1:5.35-4+deb10u2 [124 kB] Get: 15 http://deb.debian.org/debian buster/main i386 file i386 1:5.35-4+deb10u2 [66.4 kB] Get: 16 http://deb.debian.org/debian buster/main i386 gettext-base i386 0.19.8.1-9 [124 kB] Get: 17 http://deb.debian.org/debian buster/main i386 libsigsegv2 i386 2.12-2 [33.2 kB] Get: 18 http://deb.debian.org/debian buster/main i386 m4 i386 1.4.18-2 [205 kB] Get: 19 http://deb.debian.org/debian buster/main i386 autoconf all 2.69-11 [341 kB] Get: 20 http://deb.debian.org/debian buster/main i386 autotools-dev all 20180224.1 [77.0 kB] Get: 21 http://deb.debian.org/debian buster/main i386 automake all 1:1.16.1-4 [771 kB] Get: 22 http://deb.debian.org/debian buster/main i386 autopoint all 0.19.8.1-9 [434 kB] Get: 23 http://deb.debian.org/debian buster/main i386 libtool all 2.4.6-9 [547 kB] Get: 24 http://deb.debian.org/debian buster/main i386 dh-autoreconf all 19 [16.9 kB] Get: 25 http://deb.debian.org/debian buster/main i386 libarchive-zip-perl all 1.64-1 [96.8 kB] Get: 26 http://deb.debian.org/debian buster/main i386 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB] Get: 27 http://deb.debian.org/debian buster/main i386 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB] Get: 28 http://deb.debian.org/debian buster/main i386 libelf1 i386 0.176-1.1 [166 kB] Get: 29 http://deb.debian.org/debian buster/main i386 dwz i386 0.12-3 [81.4 kB] Get: 30 http://deb.debian.org/debian buster/main i386 libglib2.0-0 i386 2.58.3-2+deb10u3 [1334 kB] Get: 31 http://deb.debian.org/debian buster/main i386 libicu63 i386 63.1-6+deb10u3 [8442 kB] Get: 32 http://deb.debian.org/debian buster/main i386 libxml2 i386 2.9.4+dfsg1-7+deb10u3 [723 kB] Get: 33 http://deb.debian.org/debian buster/main i386 libcroco3 i386 0.6.12-3 [151 kB] Get: 34 http://deb.debian.org/debian buster/main i386 gettext i386 0.19.8.1-9 [1314 kB] Get: 35 http://deb.debian.org/debian buster/main i386 intltool-debian all 0.35.0+20060710.5 [26.8 kB] Get: 36 http://deb.debian.org/debian buster/main i386 po-debconf all 1.0.21 [248 kB] Get: 37 http://deb.debian.org/debian buster/main i386 debhelper all 12.1.1 [1016 kB] Get: 38 http://deb.debian.org/debian buster/main i386 libhiredis0.14 i386 0.14.0-3 [36.9 kB] Get: 39 http://deb.debian.org/debian buster/main i386 libhiredis-dev i386 0.14.0-3 [56.8 kB] Get: 40 http://deb.debian.org/debian buster/main i386 libjemalloc2 i386 5.1.0-3 [222 kB] Get: 41 http://deb.debian.org/debian buster/main i386 libjemalloc-dev i386 5.1.0-3 [366 kB] Get: 42 http://deb.debian.org/debian buster/main i386 liblua5.1-0 i386 5.1.5-8.1+b2 [121 kB] Get: 43 http://deb.debian.org/debian buster/main i386 libreadline7 i386 7.0-5 [156 kB] Get: 44 http://deb.debian.org/debian buster/main i386 libncurses-dev i386 6.1+20181013-2+deb10u2 [360 kB] Get: 45 http://deb.debian.org/debian buster/main i386 libreadline-dev i386 7.0-5 [146 kB] Get: 46 http://deb.debian.org/debian buster/main i386 liblua5.1-0-dev i386 5.1.5-8.1+b2 [152 kB] Get: 47 http://deb.debian.org/debian buster/main i386 libtcl8.6 i386 8.6.9+dfsg-2 [1065 kB] Get: 48 http://deb.debian.org/debian buster/main i386 lua-bitop i386 1.0.2-5 [7184 B] Get: 49 http://deb.debian.org/debian buster/main i386 lua-bitop-dev i386 1.0.2-5 [20.1 kB] Get: 50 http://deb.debian.org/debian buster/main i386 lua-cjson i386 2.1.0+dfsg-2.1 [17.9 kB] Get: 51 http://deb.debian.org/debian buster/main i386 lua-cjson-dev i386 2.1.0+dfsg-2.1 [31.7 kB] Get: 52 http://deb.debian.org/debian buster/main i386 tcl8.6 i386 8.6.9+dfsg-2 [123 kB] Get: 53 http://deb.debian.org/debian buster/main i386 tcl i386 8.6.9+1 [5636 B] Fetched 22.7 MB in 1s (20.8 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libbsd0:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19234 files and directories currently installed.) Preparing to unpack .../00-libbsd0_0.9.1-2+deb10u1_i386.deb ... Unpacking libbsd0:i386 (0.9.1-2+deb10u1) ... Selecting previously unselected package bsdmainutils. Preparing to unpack .../01-bsdmainutils_11.1.2+b1_i386.deb ... Unpacking bsdmainutils (11.1.2+b1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../02-libuchardet0_0.0.6-3_i386.deb ... Unpacking libuchardet0:i386 (0.0.6-3) ... Selecting previously unselected package groff-base. Preparing to unpack .../03-groff-base_1.22.4-3+deb10u1_i386.deb ... Unpacking groff-base (1.22.4-3+deb10u1) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../04-libpipeline1_1.5.1-2_i386.deb ... Unpacking libpipeline1:i386 (1.5.1-2) ... Selecting previously unselected package man-db. Preparing to unpack .../05-man-db_2.8.5-2_i386.deb ... Unpacking man-db (2.8.5-2) ... Selecting previously unselected package libncurses6:i386. Preparing to unpack .../06-libncurses6_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses6:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libprocps7:i386. Preparing to unpack .../07-libprocps7_2%3a3.3.15-2_i386.deb ... Unpacking libprocps7:i386 (2:3.3.15-2) ... Selecting previously unselected package lsb-base. Preparing to unpack .../08-lsb-base_10.2019051400_all.deb ... Unpacking lsb-base (10.2019051400) ... Selecting previously unselected package procps. Preparing to unpack .../09-procps_2%3a3.3.15-2_i386.deb ... Unpacking procps (2:3.3.15-2) ... Selecting previously unselected package readline-common. Preparing to unpack .../10-readline-common_7.0-5_all.deb ... Unpacking readline-common (7.0-5) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../11-sensible-utils_0.0.12_all.deb ... Unpacking sensible-utils (0.0.12) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../12-libmagic-mgc_1%3a5.35-4+deb10u2_i386.deb ... Unpacking libmagic-mgc (1:5.35-4+deb10u2) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../13-libmagic1_1%3a5.35-4+deb10u2_i386.deb ... Unpacking libmagic1:i386 (1:5.35-4+deb10u2) ... Selecting previously unselected package file. Preparing to unpack .../14-file_1%3a5.35-4+deb10u2_i386.deb ... Unpacking file (1:5.35-4+deb10u2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../15-gettext-base_0.19.8.1-9_i386.deb ... Unpacking gettext-base (0.19.8.1-9) ... Selecting previously unselected package libsigsegv2:i386. Preparing to unpack .../16-libsigsegv2_2.12-2_i386.deb ... Unpacking libsigsegv2:i386 (2.12-2) ... Selecting previously unselected package m4. Preparing to unpack .../17-m4_1.4.18-2_i386.deb ... Unpacking m4 (1.4.18-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../18-autoconf_2.69-11_all.deb ... Unpacking autoconf (2.69-11) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../19-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../20-automake_1%3a1.16.1-4_all.deb ... Unpacking automake (1:1.16.1-4) ... Selecting previously unselected package autopoint. Preparing to unpack .../21-autopoint_0.19.8.1-9_all.deb ... Unpacking autopoint (0.19.8.1-9) ... Selecting previously unselected package libtool. Preparing to unpack .../22-libtool_2.4.6-9_all.deb ... Unpacking libtool (2.4.6-9) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../23-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../24-libarchive-zip-perl_1.64-1_all.deb ... Unpacking libarchive-zip-perl (1.64-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../25-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../26-dh-strip-nondeterminism_1.1.2-1_all.deb ... Unpacking dh-strip-nondeterminism (1.1.2-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../27-libelf1_0.176-1.1_i386.deb ... Unpacking libelf1:i386 (0.176-1.1) ... Selecting previously unselected package dwz. Preparing to unpack .../28-dwz_0.12-3_i386.deb ... Unpacking dwz (0.12-3) ... Selecting previously unselected package libglib2.0-0:i386. Preparing to unpack .../29-libglib2.0-0_2.58.3-2+deb10u3_i386.deb ... Unpacking libglib2.0-0:i386 (2.58.3-2+deb10u3) ... Selecting previously unselected package libicu63:i386. Preparing to unpack .../30-libicu63_63.1-6+deb10u3_i386.deb ... Unpacking libicu63:i386 (63.1-6+deb10u3) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../31-libxml2_2.9.4+dfsg1-7+deb10u3_i386.deb ... Unpacking libxml2:i386 (2.9.4+dfsg1-7+deb10u3) ... Selecting previously unselected package libcroco3:i386. Preparing to unpack .../32-libcroco3_0.6.12-3_i386.deb ... Unpacking libcroco3:i386 (0.6.12-3) ... Selecting previously unselected package gettext. Preparing to unpack .../33-gettext_0.19.8.1-9_i386.deb ... Unpacking gettext (0.19.8.1-9) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../34-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../35-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../36-debhelper_12.1.1_all.deb ... Unpacking debhelper (12.1.1) ... Selecting previously unselected package libhiredis0.14:i386. Preparing to unpack .../37-libhiredis0.14_0.14.0-3_i386.deb ... Unpacking libhiredis0.14:i386 (0.14.0-3) ... Selecting previously unselected package libhiredis-dev:i386. Preparing to unpack .../38-libhiredis-dev_0.14.0-3_i386.deb ... Unpacking libhiredis-dev:i386 (0.14.0-3) ... Selecting previously unselected package libjemalloc2:i386. Preparing to unpack .../39-libjemalloc2_5.1.0-3_i386.deb ... Unpacking libjemalloc2:i386 (5.1.0-3) ... Selecting previously unselected package libjemalloc-dev. Preparing to unpack .../40-libjemalloc-dev_5.1.0-3_i386.deb ... Unpacking libjemalloc-dev (5.1.0-3) ... Selecting previously unselected package liblua5.1-0:i386. Preparing to unpack .../41-liblua5.1-0_5.1.5-8.1+b2_i386.deb ... Unpacking liblua5.1-0:i386 (5.1.5-8.1+b2) ... Selecting previously unselected package libreadline7:i386. Preparing to unpack .../42-libreadline7_7.0-5_i386.deb ... Unpacking libreadline7:i386 (7.0-5) ... Selecting previously unselected package libncurses-dev:i386. Preparing to unpack .../43-libncurses-dev_6.1+20181013-2+deb10u2_i386.deb ... Unpacking libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Selecting previously unselected package libreadline-dev:i386. Preparing to unpack .../44-libreadline-dev_7.0-5_i386.deb ... Unpacking libreadline-dev:i386 (7.0-5) ... Selecting previously unselected package liblua5.1-0-dev:i386. Preparing to unpack .../45-liblua5.1-0-dev_5.1.5-8.1+b2_i386.deb ... Unpacking liblua5.1-0-dev:i386 (5.1.5-8.1+b2) ... Selecting previously unselected package libtcl8.6:i386. Preparing to unpack .../46-libtcl8.6_8.6.9+dfsg-2_i386.deb ... Unpacking libtcl8.6:i386 (8.6.9+dfsg-2) ... Selecting previously unselected package lua-bitop:i386. Preparing to unpack .../47-lua-bitop_1.0.2-5_i386.deb ... Unpacking lua-bitop:i386 (1.0.2-5) ... Selecting previously unselected package lua-bitop-dev:i386. Preparing to unpack .../48-lua-bitop-dev_1.0.2-5_i386.deb ... Unpacking lua-bitop-dev:i386 (1.0.2-5) ... Selecting previously unselected package lua-cjson:i386. Preparing to unpack .../49-lua-cjson_2.1.0+dfsg-2.1_i386.deb ... Unpacking lua-cjson:i386 (2.1.0+dfsg-2.1) ... Selecting previously unselected package lua-cjson-dev:i386. Preparing to unpack .../50-lua-cjson-dev_2.1.0+dfsg-2.1_i386.deb ... Unpacking lua-cjson-dev:i386 (2.1.0+dfsg-2.1) ... Selecting previously unselected package tcl8.6. Preparing to unpack .../51-tcl8.6_8.6.9+dfsg-2_i386.deb ... Unpacking tcl8.6 (8.6.9+dfsg-2) ... Selecting previously unselected package tcl. Preparing to unpack .../52-tcl_8.6.9+1_i386.deb ... Unpacking tcl (8.6.9+1) ... Setting up libpipeline1:i386 (1.5.1-2) ... Setting up lsb-base (10.2019051400) ... Setting up libmagic-mgc (1:5.35-4+deb10u2) ... Setting up libarchive-zip-perl (1.64-1) ... Setting up libglib2.0-0:i386 (2.58.3-2+deb10u3) ... No schema files found: doing nothing. Setting up libprocps7:i386 (2:3.3.15-2) ... Setting up libmagic1:i386 (1:5.35-4+deb10u2) ... Setting up gettext-base (0.19.8.1-9) ... Setting up file (1:5.35-4+deb10u2) ... Setting up libjemalloc2:i386 (5.1.0-3) ... Setting up libicu63:i386 (63.1-6+deb10u3) ... Setting up libjemalloc-dev (5.1.0-3) ... Setting up autotools-dev (20180224.1) ... Setting up lua-cjson:i386 (2.1.0+dfsg-2.1) ... Setting up libncurses6:i386 (6.1+20181013-2+deb10u2) ... Setting up libsigsegv2:i386 (2.12-2) ... Setting up libtcl8.6:i386 (8.6.9+dfsg-2) ... Setting up autopoint (0.19.8.1-9) ... Setting up lua-bitop:i386 (1.0.2-5) ... Setting up sensible-utils (0.0.12) ... Setting up libuchardet0:i386 (0.0.6-3) ... Setting up procps (2:3.3.15-2) ... update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode Setting up liblua5.1-0:i386 (5.1.5-8.1+b2) ... Setting up libbsd0:i386 (0.9.1-2+deb10u1) ... Setting up libelf1:i386 (0.176-1.1) ... Setting up readline-common (7.0-5) ... Setting up libxml2:i386 (2.9.4+dfsg1-7+deb10u3) ... Setting up libreadline7:i386 (7.0-5) ... Setting up libhiredis0.14:i386 (0.14.0-3) ... Setting up libfile-stripnondeterminism-perl (1.1.2-1) ... Setting up tcl8.6 (8.6.9+dfsg-2) ... Setting up libncurses-dev:i386 (6.1+20181013-2+deb10u2) ... Setting up libhiredis-dev:i386 (0.14.0-3) ... Setting up libtool (2.4.6-9) ... Setting up m4 (1.4.18-2) ... Setting up libreadline-dev:i386 (7.0-5) ... Setting up lua-cjson-dev:i386 (2.1.0+dfsg-2.1) ... Setting up bsdmainutils (11.1.2+b1) ... update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode Setting up libcroco3:i386 (0.6.12-3) ... Setting up lua-bitop-dev:i386 (1.0.2-5) ... Setting up autoconf (2.69-11) ... Setting up dwz (0.12-3) ... Setting up groff-base (1.22.4-3+deb10u1) ... Setting up tcl (8.6.9+1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up gettext (0.19.8.1-9) ... Setting up liblua5.1-0-dev:i386 (5.1.5-8.1+b2) ... Setting up man-db (2.8.5-2) ... Not building database; man-db/auto-update is not 'true'. Setting up intltool-debian (0.35.0+20060710.5) ... Setting up po-debconf (1.0.21) ... Setting up debhelper (12.1.1) ... Setting up dh-autoreconf (19) ... Setting up dh-strip-nondeterminism (1.1.2-1) ... Processing triggers for libc-bin (2.28-10+deb10u1) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.23-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package hostname: Name or service not known I: Running cd /build/redis-5.0.14/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../redis_5.0.14-1+deb10u2_source.changes dpkg-buildpackage: info: source package redis dpkg-buildpackage: info: source version 5:5.0.14-1+deb10u2 dpkg-buildpackage: info: source distribution buster-security dpkg-buildpackage: info: source changed by Chris Lamb dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 dpkg-source: info: using options from redis-5.0.14/debian/source/options: --extend-diff-ignore=^\.travis\.yml$ fakeroot debian/rules clean dh clean debian/rules override_dh_auto_clean make[1]: Entering directory '/build/redis-5.0.14' dh_auto_clean make -j7 distclean make[2]: Entering directory '/build/redis-5.0.14' cd src && make distclean make[3]: Entering directory '/build/redis-5.0.14/src' rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark (cd ../deps && make distclean) make[4]: Entering directory '/build/redis-5.0.14/deps' (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (rm -f .make-*) make[4]: Leaving directory '/build/redis-5.0.14/deps' (rm -f .make-*) make[3]: Leaving directory '/build/redis-5.0.14/src' make[2]: Leaving directory '/build/redis-5.0.14' rm -f src/release.h debian/*.service debian/lua_libs_debian.c make[1]: Leaving directory '/build/redis-5.0.14' dh_clean debian/rules build dh build dh_update_autotools_config dh_autoreconf dh_auto_configure debian/rules override_dh_auto_build make[1]: Entering directory '/build/redis-5.0.14' echo "// Automatically generated; do not edit." >debian/lua_libs_debian.c echo "luaLoadLib(lua, LUA_LOADLIBNAME, luaopen_package);" >>debian/lua_libs_debian.c set -e; for X in cjson bit; do \ echo "if (luaL_dostring(lua, \"$X = require('$X');\"))" >>debian/lua_libs_debian.c; \ echo " serverLog(LL_NOTICE, \"Error loading $X library\");" >>debian/lua_libs_debian.c; \ done echo 'luaL_dostring(lua, "module = nil; require = nil; package = nil");' >>debian/lua_libs_debian.c # Build the non-bundled Lua libraries dh_auto_build --sourcedirectory=deps/lua/src -- lua_struct.o lua_cmsgpack.o cd deps/lua/src && make -j7 "INSTALL=install --strip-program=true" lua_struct.o lua_cmsgpack.o make[2]: Entering directory '/build/redis-5.0.14/deps/lua/src' cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_struct.o lua_struct.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o lua_cmsgpack.o lua_cmsgpack.c make[2]: Leaving directory '/build/redis-5.0.14/deps/lua/src' dh_auto_build --parallel -- V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEM_LUA=yes USE_SYSTEM_HIREDIS=yes make -j7 "INSTALL=install --strip-program=true" V=1 USE_SYSTEM_JEMALLOC=yes USE_SYSTEM_LUA=yes USE_SYSTEM_HIREDIS=yes make[2]: Entering directory '/build/redis-5.0.14' cd src && make all make[3]: Entering directory '/build/redis-5.0.14/src' cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -MM *.c > Makefile.dep 2> /dev/null || true rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark (cd ../deps && make distclean) make[4]: Entering directory '/build/redis-5.0.14/deps' (cd linenoise && make clean) > /dev/null || true (rm -f .make-*) make[4]: Leaving directory '/build/redis-5.0.14/deps' (rm -f .make-*) echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings echo WARN=-Wall -W -Wno-missing-field-initializers >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=jemalloc >> .make-settings echo CFLAGS=-g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security >> .make-settings echo LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis >> .make-settings echo PREV_FINAL_LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic >> .make-settings (cd ../deps && make linenoise) make[4]: Entering directory '/build/redis-5.0.14/deps' (cd linenoise && make clean) > /dev/null || true (rm -f .make-*) (echo "-g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security" > .make-cflags) (echo "-Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o" > .make-ldflags) MAKE linenoise cd linenoise && make make[5]: Entering directory '/build/redis-5.0.14/deps/linenoise' cc -Wall -Os -g -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c linenoise.c make[5]: Leaving directory '/build/redis-5.0.14/deps/linenoise' make[4]: Leaving directory '/build/redis-5.0.14/deps' cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c adlist.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c quicklist.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c ae.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c anet.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c dict.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c server.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c sds.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c zmalloc.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c lzf_c.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c lzf_d.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c pqsort.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c zipmap.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c sha1.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c ziplist.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c release.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c networking.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c util.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c object.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c db.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c replication.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c rdb.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_string.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_list.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_set.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_zset.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_hash.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c config.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c aof.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c pubsub.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c multi.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c debug.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c sort.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c intset.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c syncio.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c cluster.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c crc16.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c endianconv.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c slowlog.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c scripting.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c bio.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c rio.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c rand.c In file included from scripting.c:36: ../debian/lua_libs_debian.c: In function 'luaLoadLibraries': /usr/include/lua5.1/lauxlib.h:115:25: warning: value computed is not used [-Wunused-value] (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) ^~ ../debian/lua_libs_debian.c:7:1: note: in expansion of macro 'luaL_dostring' luaL_dostring(lua, "module = nil; require = nil; package = nil"); ^~~~~~~~~~~~~ cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c memtest.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c crc64.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c bitops.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c sentinel.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c notify.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c setproctitle.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c blocked.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c hyperloglog.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c latency.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c sparkline.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c redis-check-rdb.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c redis-check-aof.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c geo.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c lazyfree.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c module.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c evict.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c expire.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c geohash.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c geohash_helper.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c childinfo.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c defrag.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c siphash.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c rax.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c t_stream.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c listpack.c listpack.c: In function 'lpSeek': listpack.c:771:19: warning: comparison of integer expressions of different signedness: 'long int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare] if (index >= numele) return NULL; /* Out of range the other side. */ ^~ listpack.c:774:19: warning: comparison of integer expressions of different signedness: 'long int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare] if (index > numele/2) { ^ cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c localtime.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c lolwut.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c lolwut5.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c redis-cli.c cc -std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -g -O2 -ffile-prefix-map=/build/redis-5.0.14=. -fstack-protector-strong -Wformat -Werror=format-security -I../deps/linenoise -DUSE_JEMALLOC -I/usr/include/jemalloc/include -I/usr/include/lua5.1 -I/usr/include/hiredis -Wdate-time -D_FORTIFY_SOURCE=2 -c redis-benchmark.c cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-benchmark ae.o anet.o redis-benchmark.o adlist.o zmalloc.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lhiredis cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-server adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o t_stream.o listpack.o localtime.o lolwut.o lolwut5.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lhiredis install --strip-program=true redis-server redis-sentinel install --strip-program=true redis-server redis-check-rdb install: WARNING: ignoring --strip-program option as -s option was not specified install: WARNING: ignoring --strip-program option as -s option was not specified install --strip-program=true redis-server redis-check-aof install: WARNING: ignoring --strip-program option as -s option was not specified cc -Wl,-z,relro -Wl,-z,now -Wl,-no-as-needed -ldl -latomic -llua5.1-cjson -llua5.1-bitop ../deps/lua/src/lua_struct.o ../deps/lua/src/lua_cmsgpack.o -g -ggdb -rdynamic -o redis-cli anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crc64.o siphash.o crc16.o ../deps/linenoise/linenoise.o -llua5.1 -ljemalloc -lm -ldl -pthread -lrt -lhiredis Hint: It's a good idea to run 'make test' ;) make[3]: Leaving directory '/build/redis-5.0.14/src' make[2]: Leaving directory '/build/redis-5.0.14' make[1]: Leaving directory '/build/redis-5.0.14' debian/rules override_dh_auto_test make[1]: Entering directory '/build/redis-5.0.14' # Avoid race conditions in upstream testsuite. ./runtest --clients 1 || true Cleanup: may take some time... OK Starting test server at port 11111 [ready]: 27862 Testing unit/printver Testing Redis version 5.0.14 (00000000) [1/50 done]: unit/printver (1 seconds) Testing unit/dump [ok]: DUMP / RESTORE are able to serialize / unserialize a simple key [ok]: RESTORE can set an arbitrary expire to the materialized key [ok]: RESTORE can set an expire that overflows a 32 bit integer [ok]: RESTORE can set an absolute expire [ok]: RESTORE with ABSTTL in the past [ok]: RESTORE can set LRU [ok]: RESTORE can set LFU [ok]: RESTORE returns an error of the key already exists [ok]: RESTORE can overwrite an existing key with REPLACE [ok]: RESTORE can detect a syntax error for unrecongized options [ok]: DUMP of non existing key returns nil [ok]: MIGRATE is caching connections [ok]: MIGRATE cached connections are released after some time [ok]: MIGRATE is able to migrate a key between two instances [ok]: MIGRATE is able to copy a key between two instances [ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used [ok]: MIGRATE propagates TTL correctly [ok]: MIGRATE can correctly transfer large values [ok]: MIGRATE can correctly transfer hashes [ok]: MIGRATE timeout actually works [ok]: MIGRATE can migrate multiple keys at once [ok]: MIGRATE with multiple keys must have empty key arg [ok]: MIGRATE with multiple keys migrate just existing ones [ok]: MIGRATE with multiple keys: stress command rewriting [ok]: MIGRATE with multiple keys: delete just ack keys [ok]: MIGRATE AUTH: correct and wrong password cases [2/50 done]: unit/dump (32 seconds) Testing unit/auth [ok]: AUTH fails if there is no password configured server side [ok]: AUTH fails when a wrong password is given [ok]: Arbitrary command gives an error when AUTH is required [ok]: AUTH succeeds when the right password is given [ok]: Once AUTH succeeded we can actually send commands to the server [ok]: For unauthenticated clients multibulk and bulk length are limited [3/50 done]: unit/auth (1 seconds) Testing unit/protocol [ok]: Handle an empty query [ok]: Negative multibulk length [ok]: Out of range multibulk length [ok]: Wrong multibulk payload header [ok]: Negative multibulk payload length [ok]: Out of range multibulk payload length [ok]: Non-number multibulk payload length [ok]: Multi bulk request not followed by bulk arguments [ok]: Generic wrong number of args [ok]: Unbalanced number of quotes [ok]: Protocol desync regression test #1 [ok]: Protocol desync regression test #2 [ok]: Protocol desync regression test #3 [ok]: Regression for a crash with blocking ops and pipelining [4/50 done]: unit/protocol (1 seconds) Testing unit/keyspace [ok]: DEL against a single item [ok]: Vararg DEL [ok]: KEYS with pattern [ok]: KEYS to get all keys [ok]: DBSIZE [ok]: DEL all keys [ok]: DEL against expired key [ok]: EXISTS [ok]: Zero length value in key. SET/GET/EXISTS [ok]: Commands pipelining [ok]: Non existing command [ok]: RENAME basic usage [ok]: RENAME source key should no longer exist [ok]: RENAME against already existing key [ok]: RENAMENX basic usage [ok]: RENAMENX against already existing key [ok]: RENAMENX against already existing key (2) [ok]: RENAME against non existing source key [ok]: RENAME where source and dest key are the same (existing) [ok]: RENAMENX where source and dest key are the same (existing) [ok]: RENAME where source and dest key are the same (non existing) [ok]: RENAME with volatile key, should move the TTL as well [ok]: RENAME with volatile key, should not inherit TTL of target key [ok]: DEL all keys again (DB 0) [ok]: DEL all keys again (DB 1) [ok]: MOVE basic usage [ok]: MOVE against key existing in the target DB [ok]: MOVE against non-integer DB (#1428) [ok]: MOVE can move key expire metadata as well [ok]: MOVE does not create an expire if it does not exist [ok]: SET/GET keys in different DBs [ok]: RANDOMKEY [ok]: RANDOMKEY against empty DB [ok]: RANDOMKEY regression 1 [ok]: KEYS * two times with long key, Github issue #1208 [5/50 done]: unit/keyspace (2 seconds) Testing unit/scan [ok]: SCAN basic [ok]: SCAN COUNT [ok]: SCAN MATCH [ok]: SSCAN with encoding intset [ok]: SSCAN with encoding hashtable [ok]: HSCAN with encoding ziplist [ok]: HSCAN with encoding hashtable [ok]: ZSCAN with encoding ziplist [ok]: ZSCAN with encoding skiplist [ok]: SCAN guarantees check under write load [ok]: SSCAN with integer encoded object (issue #1345) [ok]: SSCAN with PATTERN [ok]: HSCAN with PATTERN [ok]: ZSCAN with PATTERN [ok]: ZSCAN scores: regression test for issue #2175 [ok]: SCAN regression test for issue #4906 [6/50 done]: unit/scan (16 seconds) Testing unit/type/string [ok]: SET and GET an item [ok]: SET and GET an empty item [ok]: Very big payload in GET/SET [ok]: Very big payload random access [ok]: SET 10000 numeric keys and access all them in reverse order [ok]: DBSIZE should be 10000 now [ok]: SETNX target key missing [ok]: SETNX target key exists [ok]: SETNX against not-expired volatile key [ok]: SETNX against expired volatile key [ok]: MGET [ok]: MGET against non existing key [ok]: MGET against non-string key [ok]: GETSET (set new value) [ok]: GETSET (replace old value) [ok]: MSET base case [ok]: MSET wrong number of args [ok]: MSETNX with already existent key [ok]: MSETNX with not existing keys [ok]: STRLEN against non-existing key [ok]: STRLEN against integer-encoded value [ok]: STRLEN against plain string [ok]: SETBIT against non-existing key [ok]: SETBIT against string-encoded key [ok]: SETBIT against integer-encoded key [ok]: SETBIT against key with wrong type [ok]: SETBIT with out of range bit offset [ok]: SETBIT with non-bit argument [ok]: SETBIT fuzzing [ok]: GETBIT against non-existing key [ok]: GETBIT against string-encoded key [ok]: GETBIT against integer-encoded key [ok]: SETRANGE against non-existing key [ok]: SETRANGE against string-encoded key [ok]: SETRANGE against integer-encoded key [ok]: SETRANGE against key with wrong type [ok]: SETRANGE with out of range offset [ok]: GETRANGE against non-existing key [ok]: GETRANGE against string value [ok]: GETRANGE against integer-encoded value [ok]: GETRANGE fuzzing [ok]: Extended SET can detect syntax errors [ok]: Extended SET NX option [ok]: Extended SET XX option [ok]: Extended SET EX option [ok]: Extended SET PX option [ok]: Extended SET using multiple options at once [ok]: GETRANGE with huge ranges, Github issue #1844 [7/50 done]: unit/type/string (18 seconds) Testing unit/type/incr [ok]: INCR against non existing key [ok]: INCR against key created by incr itself [ok]: INCR against key originally set with SET [ok]: INCR over 32bit value [ok]: INCRBY over 32bit value with over 32bit increment [ok]: INCR fails against key with spaces (left) [ok]: INCR fails against key with spaces (right) [ok]: INCR fails against key with spaces (both) [ok]: INCR fails against a key holding a list [ok]: DECRBY over 32bit value with over 32bit increment, negative res [ok]: INCR uses shared objects in the 0-9999 range [ok]: INCR can modify objects in-place [ok]: INCRBYFLOAT against non existing key [ok]: INCRBYFLOAT against key originally set with SET [ok]: INCRBYFLOAT over 32bit value [ok]: INCRBYFLOAT over 32bit value with over 32bit increment [ok]: INCRBYFLOAT fails against key with spaces (left) [ok]: INCRBYFLOAT fails against key with spaces (right) [ok]: INCRBYFLOAT fails against key with spaces (both) [ok]: INCRBYFLOAT fails against a key holding a list [ok]: INCRBYFLOAT does not allow NaN or Infinity [ok]: INCRBYFLOAT decrement [ok]: string to double with null terminator [8/50 done]: unit/type/incr (0 seconds) Testing unit/type/list [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - ziplist [ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - regular list [ok]: R/LPOP against empty list [ok]: Variadic RPUSH/LPUSH [ok]: DEL a list [ok]: BLPOP, BRPOP: single existing list - linkedlist [ok]: BLPOP, BRPOP: multiple existing lists - linkedlist [ok]: BLPOP, BRPOP: second list has an entry - linkedlist [ok]: BRPOPLPUSH - linkedlist [ok]: BLPOP, BRPOP: single existing list - ziplist [ok]: BLPOP, BRPOP: multiple existing lists - ziplist [ok]: BLPOP, BRPOP: second list has an entry - ziplist [ok]: BRPOPLPUSH - ziplist [ok]: BLPOP, LPUSH + DEL should not awake blocked client [ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client [ok]: BLPOP with same key multiple times should work (issue #801) [ok]: MULTI/EXEC is isolated from the point of view of BLPOP [ok]: BLPOP with variadic LPUSH [ok]: BRPOPLPUSH with zero timeout should block indefinitely [ok]: BRPOPLPUSH with a client BLPOPing the target list [ok]: BRPOPLPUSH with wrong source type [ok]: BRPOPLPUSH with wrong destination type [ok]: BRPOPLPUSH maintains order of elements after failure [ok]: BRPOPLPUSH with multiple blocked clients [ok]: Linked BRPOPLPUSH [ok]: Circular BRPOPLPUSH [ok]: Self-referential BRPOPLPUSH [ok]: BRPOPLPUSH inside a transaction [ok]: PUSH resulting from BRPOPLPUSH affect WATCH [ok]: BRPOPLPUSH does not affect WATCH while still blocked [ok]: BRPOPLPUSH timeout [ok]: BLPOP when new key is moved into place [ok]: BLPOP when result key is created by SORT..STORE [ok]: BLPOP: with single empty list argument [ok]: BLPOP: with negative timeout [ok]: BLPOP: with non-integer timeout [ok]: BLPOP: with zero timeout should block indefinitely [ok]: BLPOP: second argument is not a list [ok]: BLPOP: timeout [ok]: BLPOP: arguments are empty [ok]: BRPOP: with single empty list argument [ok]: BRPOP: with negative timeout [ok]: BRPOP: with non-integer timeout [ok]: BRPOP: with zero timeout should block indefinitely [ok]: BRPOP: second argument is not a list [ok]: BRPOP: timeout [ok]: BRPOP: arguments are empty [ok]: BLPOP inside a transaction [ok]: LPUSHX, RPUSHX - generic [ok]: LPUSHX, RPUSHX - linkedlist [ok]: LINSERT - linkedlist [ok]: LPUSHX, RPUSHX - ziplist [ok]: LINSERT - ziplist [ok]: LINSERT raise error on bad syntax [ok]: LINDEX consistency test - quicklist [ok]: LINDEX random access - quicklist [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist [ok]: LINDEX consistency test - quicklist [ok]: LINDEX random access - quicklist [ok]: Check if list is still ok after a DEBUG RELOAD - quicklist [ok]: LLEN against non-list value error [ok]: LLEN against non existing key [ok]: LINDEX against non-list value error [ok]: LINDEX against non existing key [ok]: LPUSH against non-list value error [ok]: RPUSH against non-list value error [ok]: RPOPLPUSH base case - linkedlist [ok]: RPOPLPUSH with the same list as src and dst - linkedlist [ok]: RPOPLPUSH with linkedlist source and existing target linkedlist [ok]: RPOPLPUSH with linkedlist source and existing target ziplist [ok]: RPOPLPUSH base case - ziplist [ok]: RPOPLPUSH with the same list as src and dst - ziplist [ok]: RPOPLPUSH with ziplist source and existing target linkedlist [ok]: RPOPLPUSH with ziplist source and existing target ziplist [ok]: RPOPLPUSH against non existing key [ok]: RPOPLPUSH against non list src key [ok]: RPOPLPUSH against non list dst key [ok]: RPOPLPUSH against non existing src key [ok]: Basic LPOP/RPOP - linkedlist [ok]: Basic LPOP/RPOP - ziplist [ok]: LPOP/RPOP against non list value [ok]: Mass RPOP/LPOP - quicklist [ok]: Mass RPOP/LPOP - quicklist [ok]: LRANGE basics - linkedlist [ok]: LRANGE inverted indexes - linkedlist [ok]: LRANGE out of range indexes including the full list - linkedlist [ok]: LRANGE out of range negative end index - linkedlist [ok]: LRANGE basics - ziplist [ok]: LRANGE inverted indexes - ziplist [ok]: LRANGE out of range indexes including the full list - ziplist [ok]: LRANGE out of range negative end index - ziplist [ok]: LRANGE against non existing key [ok]: LTRIM basics - linkedlist [ok]: LTRIM out of range negative end index - linkedlist [ok]: LTRIM basics - ziplist [ok]: LTRIM out of range negative end index - ziplist [ok]: LSET - linkedlist [ok]: LSET out of range index - linkedlist [ok]: LSET - ziplist [ok]: LSET out of range index - ziplist [ok]: LSET against non existing key [ok]: LSET against non list value [ok]: LREM remove all the occurrences - linkedlist [ok]: LREM remove the first occurrence - linkedlist [ok]: LREM remove non existing element - linkedlist [ok]: LREM starting from tail with negative count - linkedlist [ok]: LREM starting from tail with negative count (2) - linkedlist [ok]: LREM deleting objects that may be int encoded - linkedlist [ok]: LREM remove all the occurrences - ziplist [ok]: LREM remove the first occurrence - ziplist [ok]: LREM remove non existing element - ziplist [ok]: LREM starting from tail with negative count - ziplist [ok]: LREM starting from tail with negative count (2) - ziplist [ok]: LREM deleting objects that may be int encoded - ziplist [ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds [9/50 done]: unit/type/list (15 seconds) Testing unit/type/list-2 [ok]: LTRIM stress testing - linkedlist [ok]: LTRIM stress testing - ziplist [10/50 done]: unit/type/list-2 (30 seconds) Testing unit/type/list-3 [ok]: Explicit regression for a list bug [ok]: Regression for quicklist #3343 bug [ok]: Stress tester for #3343-alike bugs [ok]: ziplist implementation: value encoding and backlink [ok]: ziplist implementation: encoding stress testing [11/50 done]: unit/type/list-3 (40 seconds) Testing unit/type/set [ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - regular set [ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - intset [ok]: SADD against non set [ok]: SADD a non-integer against an intset [ok]: SADD an integer larger than 64 bits [ok]: SADD overflows the maximum allowed integers in an intset [ok]: Variadic SADD [ok]: Set encoding after DEBUG RELOAD [ok]: SREM basics - regular set [ok]: SREM basics - intset [ok]: SREM with multiple arguments [ok]: SREM variadic version with more args needed to destroy the key [ok]: Generated sets must be encoded as hashtable [ok]: SINTER with two sets - hashtable [ok]: SINTERSTORE with two sets - hashtable [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - hashtable [ok]: SUNION with two sets - hashtable [ok]: SUNIONSTORE with two sets - hashtable [ok]: SINTER against three sets - hashtable [ok]: SINTERSTORE with three sets - hashtable [ok]: SUNION with non existing keys - hashtable [ok]: SDIFF with two sets - hashtable [ok]: SDIFF with three sets - hashtable [ok]: SDIFFSTORE with three sets - hashtable [ok]: Generated sets must be encoded as intset [ok]: SINTER with two sets - intset [ok]: SINTERSTORE with two sets - intset [ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset [ok]: SUNION with two sets - intset [ok]: SUNIONSTORE with two sets - intset [ok]: SINTER against three sets - intset [ok]: SINTERSTORE with three sets - intset [ok]: SUNION with non existing keys - intset [ok]: SDIFF with two sets - intset [ok]: SDIFF with three sets - intset [ok]: SDIFFSTORE with three sets - intset [ok]: SDIFF with first set empty [ok]: SDIFF with same set two times [ok]: SDIFF fuzzing [ok]: SINTER against non-set should throw error [ok]: SUNION against non-set should throw error [ok]: SINTER should handle non existing key as empty [ok]: SINTER with same integer elements but different encoding [ok]: SINTERSTORE against non existing keys should delete dstkey [ok]: SUNIONSTORE against non existing keys should delete dstkey [ok]: SPOP basics - hashtable [ok]: SPOP with =1 - hashtable [ok]: SRANDMEMBER - hashtable [ok]: SPOP basics - intset [ok]: SPOP with =1 - intset [ok]: SRANDMEMBER - intset [ok]: SPOP with [ok]: SPOP with [ok]: SPOP using integers, testing Knuth's and Floyd's algorithm [ok]: SPOP using integers with Knuth's algorithm [ok]: SPOP new implementation: code path #1 [ok]: SPOP new implementation: code path #2 [ok]: SPOP new implementation: code path #3 [ok]: SRANDMEMBER with against non existing key [ok]: SRANDMEMBER with - hashtable [ok]: SRANDMEMBER with - intset [ok]: SMOVE basics - from regular set to intset [ok]: SMOVE basics - from intset to regular set [ok]: SMOVE non existing key [ok]: SMOVE non existing src set [ok]: SMOVE from regular set to non existing destination set [ok]: SMOVE from intset to non existing destination set [ok]: SMOVE wrong src key type [ok]: SMOVE wrong dst key type [ok]: SMOVE with identical source and destination [ok]: intsets implementation stress testing [12/50 done]: unit/type/set (13 seconds) Testing unit/type/zset [ok]: Check encoding - ziplist [ok]: ZSET basic ZADD and score update - ziplist [ok]: ZSET element can't be set to NaN with ZADD - ziplist [ok]: ZSET element can't be set to NaN with ZINCRBY [ok]: ZADD with options syntax error with incomplete pair [ok]: ZADD XX option without key - ziplist [ok]: ZADD XX existing key - ziplist [ok]: ZADD XX returns the number of elements actually added [ok]: ZADD XX updates existing elements score [ok]: ZADD XX and NX are not compatible [ok]: ZADD NX with non existing key [ok]: ZADD NX only add new elements without updating old ones [ok]: ZADD INCR works like ZINCRBY [ok]: ZADD INCR works with a single score-elemenet pair [ok]: ZADD CH option changes return value to all changed elements [ok]: ZINCRBY calls leading to NaN result in error [ok]: ZADD - Variadic version base case [ok]: ZADD - Return value is the number of actually added items [ok]: ZADD - Variadic version does not add nothing on single parsing err [ok]: ZADD - Variadic version will raise error on missing arg [ok]: ZINCRBY does not work variadic even if shares ZADD implementation [ok]: ZCARD basics - ziplist [ok]: ZREM removes key after last element is removed [ok]: ZREM variadic version [ok]: ZREM variadic version -- remove elements after key deletion [ok]: ZRANGE basics - ziplist [ok]: ZREVRANGE basics - ziplist [ok]: ZRANK/ZREVRANK basics - ziplist [ok]: ZRANK - after deletion - ziplist [ok]: ZINCRBY - can create a new sorted set - ziplist [ok]: ZINCRBY - increment and decrement - ziplist [ok]: ZINCRBY return value [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics [ok]: ZRANGEBYSCORE with WITHSCORES [ok]: ZRANGEBYSCORE with LIMIT [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES [ok]: ZRANGEBYSCORE with non-value min or max [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics [ok]: ZLEXCOUNT advanced [ok]: ZRANGEBYSLEX with LIMIT [ok]: ZRANGEBYLEX with invalid lex range specifiers [ok]: ZREMRANGEBYSCORE basics [ok]: ZREMRANGEBYSCORE with non-value min or max [ok]: ZREMRANGEBYRANK basics [ok]: ZUNIONSTORE against non-existing key doesn't set destination - ziplist [ok]: ZUNIONSTORE with empty set - ziplist [ok]: ZUNIONSTORE basics - ziplist [ok]: ZUNIONSTORE with weights - ziplist [ok]: ZUNIONSTORE with a regular set and weights - ziplist [ok]: ZUNIONSTORE with AGGREGATE MIN - ziplist [ok]: ZUNIONSTORE with AGGREGATE MAX - ziplist [ok]: ZINTERSTORE basics - ziplist [ok]: ZINTERSTORE with weights - ziplist [ok]: ZINTERSTORE with a regular set and weights - ziplist [ok]: ZINTERSTORE with AGGREGATE MIN - ziplist [ok]: ZINTERSTORE with AGGREGATE MAX - ziplist [ok]: ZUNIONSTORE with +inf/-inf scores - ziplist [ok]: ZUNIONSTORE with NaN weights ziplist [ok]: ZINTERSTORE with +inf/-inf scores - ziplist [ok]: ZINTERSTORE with NaN weights ziplist [ok]: Basic ZPOP with a single key - ziplist [ok]: ZPOP with count - ziplist [ok]: BZPOP with a single existing sorted set - ziplist [ok]: BZPOP with multiple existing sorted sets - ziplist [ok]: BZPOP second sorted set has members - ziplist [ok]: Check encoding - skiplist [ok]: ZSET basic ZADD and score update - skiplist [ok]: ZSET element can't be set to NaN with ZADD - skiplist [ok]: ZSET element can't be set to NaN with ZINCRBY [ok]: ZADD with options syntax error with incomplete pair [ok]: ZADD XX option without key - skiplist [ok]: ZADD XX existing key - skiplist [ok]: ZADD XX returns the number of elements actually added [ok]: ZADD XX updates existing elements score [ok]: ZADD XX and NX are not compatible [ok]: ZADD NX with non existing key [ok]: ZADD NX only add new elements without updating old ones [ok]: ZADD INCR works like ZINCRBY [ok]: ZADD INCR works with a single score-elemenet pair [ok]: ZADD CH option changes return value to all changed elements [ok]: ZINCRBY calls leading to NaN result in error [ok]: ZADD - Variadic version base case [ok]: ZADD - Return value is the number of actually added items [ok]: ZADD - Variadic version does not add nothing on single parsing err [ok]: ZADD - Variadic version will raise error on missing arg [ok]: ZINCRBY does not work variadic even if shares ZADD implementation [ok]: ZCARD basics - skiplist [ok]: ZREM removes key after last element is removed [ok]: ZREM variadic version [ok]: ZREM variadic version -- remove elements after key deletion [ok]: ZRANGE basics - skiplist [ok]: ZREVRANGE basics - skiplist [ok]: ZRANK/ZREVRANK basics - skiplist [ok]: ZRANK - after deletion - skiplist [ok]: ZINCRBY - can create a new sorted set - skiplist [ok]: ZINCRBY - increment and decrement - skiplist [ok]: ZINCRBY return value [ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics [ok]: ZRANGEBYSCORE with WITHSCORES [ok]: ZRANGEBYSCORE with LIMIT [ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES [ok]: ZRANGEBYSCORE with non-value min or max [ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics [ok]: ZLEXCOUNT advanced [ok]: ZRANGEBYSLEX with LIMIT [ok]: ZRANGEBYLEX with invalid lex range specifiers [ok]: ZREMRANGEBYSCORE basics [ok]: ZREMRANGEBYSCORE with non-value min or max [ok]: ZREMRANGEBYRANK basics [ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist [ok]: ZUNIONSTORE with empty set - skiplist [ok]: ZUNIONSTORE basics - skiplist [ok]: ZUNIONSTORE with weights - skiplist [ok]: ZUNIONSTORE with a regular set and weights - skiplist [ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist [ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist [ok]: ZINTERSTORE basics - skiplist [ok]: ZINTERSTORE with weights - skiplist [ok]: ZINTERSTORE with a regular set and weights - skiplist [ok]: ZINTERSTORE with AGGREGATE MIN - skiplist [ok]: ZINTERSTORE with AGGREGATE MAX - skiplist [ok]: ZUNIONSTORE with +inf/-inf scores - skiplist [ok]: ZUNIONSTORE with NaN weights skiplist [ok]: ZINTERSTORE with +inf/-inf scores - skiplist [ok]: ZINTERSTORE with NaN weights skiplist [ok]: Basic ZPOP with a single key - skiplist [ok]: ZPOP with count - skiplist [ok]: BZPOP with a single existing sorted set - skiplist [ok]: BZPOP with multiple existing sorted sets - skiplist [ok]: BZPOP second sorted set has members - skiplist [ok]: ZINTERSTORE regression with two sets, intset+hashtable [ok]: ZUNIONSTORE regression, should not create NaN in scores [ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets [ok]: ZUNIONSTORE result is sorted [ok]: ZSET commands don't accept the empty strings as valid score [ok]: ZSCORE - ziplist [ok]: ZSCORE after a DEBUG RELOAD - ziplist [ok]: ZSET sorting stresser - ziplist [ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - ziplist [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - ziplist [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - ziplist [ok]: ZSETs skiplist implementation backlink consistency test - ziplist [ok]: ZSETs ZRANK augmented skip list stress testing - ziplist [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client [ok]: BZPOPMIN with same key multiple times should work [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN [ok]: BZPOPMIN with variadic ZADD [ok]: BZPOPMIN with zero timeout should block indefinitely [ok]: ZSCORE - skiplist [ok]: ZSCORE after a DEBUG RELOAD - skiplist [ok]: ZSET sorting stresser - skiplist [ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist [ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist [ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist [ok]: ZSETs skiplist implementation backlink consistency test - skiplist [ok]: ZSETs ZRANK augmented skip list stress testing - skiplist [ok]: BZPOPMIN, ZADD + DEL should not awake blocked client [ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client [ok]: BZPOPMIN with same key multiple times should work [ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN [ok]: BZPOPMIN with variadic ZADD [ok]: BZPOPMIN with zero timeout should block indefinitely [ok]: ZSET skiplist order consistency when elements are moved [13/50 done]: unit/type/zset (27 seconds) Testing unit/type/hash [ok]: HSET/HLEN - Small hash creation [ok]: Is the small hash encoded with a ziplist? [ok]: HSET/HLEN - Big hash creation [ok]: Is the big hash encoded with an hash table? [ok]: HGET against the small hash [ok]: HGET against the big hash [ok]: HGET against non existing key [ok]: HSET in update and insert mode [ok]: HSETNX target key missing - small hash [ok]: HSETNX target key exists - small hash [ok]: HSETNX target key missing - big hash [ok]: HSETNX target key exists - big hash [ok]: HMSET wrong number of args [ok]: HMSET - small hash [ok]: HMSET - big hash [ok]: HMGET against non existing key and fields [ok]: HMGET against wrong type [ok]: HMGET - small hash [ok]: HMGET - big hash [ok]: HKEYS - small hash [ok]: HKEYS - big hash [ok]: HVALS - small hash [ok]: HVALS - big hash [ok]: HGETALL - small hash [ok]: HGETALL - big hash [ok]: HDEL and return value [ok]: HDEL - more than a single value [ok]: HDEL - hash becomes empty before deleting all specified fields [ok]: HEXISTS [ok]: Is a ziplist encoded Hash promoted on big payload? [ok]: HINCRBY against non existing database key [ok]: HINCRBY against non existing hash key [ok]: HINCRBY against hash key created by hincrby itself [ok]: HINCRBY against hash key originally set with HSET [ok]: HINCRBY over 32bit value [ok]: HINCRBY over 32bit value with over 32bit increment [ok]: HINCRBY fails against hash value with spaces (left) [ok]: HINCRBY fails against hash value with spaces (right) [ok]: HINCRBY can detect overflows [ok]: HINCRBYFLOAT against non existing database key [ok]: HINCRBYFLOAT against non existing hash key [ok]: HINCRBYFLOAT against hash key created by hincrby itself [ok]: HINCRBYFLOAT against hash key originally set with HSET [ok]: HINCRBYFLOAT over 32bit value [ok]: HINCRBYFLOAT over 32bit value with over 32bit increment [ok]: HINCRBYFLOAT fails against hash value with spaces (left) [ok]: HINCRBYFLOAT fails against hash value with spaces (right) [ok]: HSTRLEN against the small hash [ok]: HSTRLEN against the big hash [ok]: HSTRLEN against non existing field [ok]: HSTRLEN corner cases [ok]: Hash ziplist regression test for large keys [ok]: Hash fuzzing #1 - 10 fields [ok]: Hash fuzzing #2 - 10 fields [ok]: Hash fuzzing #1 - 512 fields [ok]: Hash fuzzing #2 - 512 fields [ok]: Stress test the hash ziplist -> hashtable encoding conversion [14/50 done]: unit/type/hash (12 seconds) Testing unit/type/stream [ok]: XADD can add entries into a stream that XRANGE can fetch [ok]: XADD IDs are incremental [ok]: XADD IDs are incremental when ms is the same as well [ok]: XADD IDs correctly report an error when overflowing [ok]: XADD with MAXLEN option [ok]: XADD mass insertion and XLEN [ok]: XADD with ID 0-0 [ok]: XRANGE COUNT works as expected [ok]: XREVRANGE COUNT works as expected [ok]: XRANGE can be used to iterate the whole stream [ok]: XREVRANGE returns the reverse of XRANGE [ok]: XREAD with non empty stream [ok]: Non blocking XREAD with empty streams [ok]: XREAD with non empty second stream [ok]: Blocking XREAD waiting new data [ok]: Blocking XREAD waiting old data [ok]: Blocking XREAD will not reply with an empty array [ok]: XREAD: XADD + DEL should not awake client [ok]: XREAD: XADD + DEL + LPUSH should not awake client [ok]: XREAD with same stream name multiple times should work [ok]: XREAD + multiple XADD inside transaction [ok]: XDEL basic test [ok]: XDEL fuzz test [ok]: XRANGE fuzzing [ok]: XREVRANGE regression test for issue #5006 [ok]: XREAD streamID edge (no-blocking) [ok]: XREAD streamID edge (blocking) [ok]: XADD streamID edge [ok]: XADD with MAXLEN > xlen can propagate correctly [ok]: XADD with ~ MAXLEN can propagate correctly [ok]: XTRIM with ~ MAXLEN can propagate correctly [ok]: XADD can CREATE an empty stream [ok]: XSETID can set a specific ID [ok]: XSETID cannot SETID with smaller ID [ok]: XSETID cannot SETID on non-existent key [ok]: Empty stream can be rewrite into AOF correctly [ok]: Stream can be rewrite into AOF correctly after XDEL lastid [15/50 done]: unit/type/stream (45 seconds) Testing unit/type/stream-cgroups [ok]: XGROUP CREATE: creation and duplicate group name detection [ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM [ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM [ok]: XREADGROUP will return only new elements [ok]: XREADGROUP can read the history of the elements we own [ok]: XPENDING is able to return pending items [ok]: XPENDING can return single consumer items [ok]: XACK is able to remove items from the client/group PEL [ok]: XACK can't remove the same item multiple times [ok]: XACK is able to accept multiple arguments [ok]: PEL NACK reassignment after XGROUP SETID event [ok]: XREADGROUP will not report data on empty history. Bug #5577 [ok]: XREADGROUP history reporting of deleted entries. Bug #5570 [ok]: Blocking XREADGROUP will not reply with an empty array [ok]: XCLAIM can claim PEL items from another consumer [ok]: XCLAIM without JUSTID increments delivery count [ok]: Consumer group last ID propagation to slave (NOACK=0) [ok]: Consumer group last ID propagation to slave (NOACK=1) [16/50 done]: unit/type/stream-cgroups (4 seconds) Testing unit/sort [ok]: Old Ziplist: SORT BY key [ok]: Old Ziplist: SORT BY key with limit [ok]: Old Ziplist: SORT BY hash field [ok]: Old Linked list: SORT BY key [ok]: Old Linked list: SORT BY key with limit [ok]: Old Linked list: SORT BY hash field [ok]: Old Big Linked list: SORT BY key [ok]: Old Big Linked list: SORT BY key with limit [ok]: Old Big Linked list: SORT BY hash field [ok]: Intset: SORT BY key [ok]: Intset: SORT BY key with limit [ok]: Intset: SORT BY hash field [ok]: Hash table: SORT BY key [ok]: Hash table: SORT BY key with limit [ok]: Hash table: SORT BY hash field [ok]: Big Hash table: SORT BY key [ok]: Big Hash table: SORT BY key with limit [ok]: Big Hash table: SORT BY hash field [ok]: SORT GET # [ok]: SORT GET [ok]: SORT GET (key and hash) with sanity check [ok]: SORT BY key STORE [ok]: SORT BY hash field STORE [ok]: SORT extracts STORE correctly [ok]: SORT extracts multiple STORE correctly [ok]: SORT DESC [ok]: SORT ALPHA against integer encoded strings [ok]: SORT sorted set [ok]: SORT sorted set BY nosort should retain ordering [ok]: SORT sorted set BY nosort + LIMIT [ok]: SORT sorted set BY nosort works as expected from scripts [ok]: SORT sorted set: +inf and -inf handling [ok]: SORT regression for issue #19, sorting floats [ok]: SORT with STORE returns zero if result is empty (github issue 224) [ok]: SORT with STORE does not create empty lists (github issue 224) [ok]: SORT with STORE removes key if result is empty (github issue 227) [ok]: SORT with BY and STORE should still order output [ok]: SORT will complain with numerical sorting and bad doubles (1) [ok]: SORT will complain with numerical sorting and bad doubles (2) [ok]: SORT BY sub-sorts lexicographically if score is the same [ok]: SORT GET with pattern ending with just -> does not get hash field [ok]: SORT by nosort retains native order for lists [ok]: SORT by nosort plus store retains native order for lists [ok]: SORT by nosort with limit returns based on original list order [ok]: SORT speed, 100 element list BY key, 100 times [ok]: SORT speed, 100 element list BY hash field, 100 times [ok]: SORT speed, 100 element list directly, 100 times [ok]: SORT speed, 100 element list BY , 100 times [17/50 done]: unit/sort (19 seconds) Testing unit/expire [ok]: EXPIRE - set timeouts multiple times [ok]: EXPIRE - It should be still possible to read 'x' [ok]: EXPIRE - After 2.1 seconds the key should no longer be here [ok]: EXPIRE - write on expire should work [ok]: EXPIREAT - Check for EXPIRE alike behavior [ok]: SETEX - Set + Expire combo operation. Check for TTL [ok]: SETEX - Check value [ok]: SETEX - Overwrite old key [ok]: SETEX - Wait for the key to expire [ok]: SETEX - Wrong time parameter [ok]: PERSIST can undo an EXPIRE [ok]: PERSIST returns 0 against non existing or non volatile keys [ok]: EXPIRE pricision is now the millisecond [ok]: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires [ok]: TTL returns time to live in seconds [ok]: PTTL returns time to live in milliseconds [ok]: TTL / PTTL return -1 if key has no expire [ok]: TTL / PTTL return -2 if key does not exit [ok]: Redis should actively expire keys incrementally [ok]: Redis should lazy expire keys [ok]: EXPIRE should not resurrect keys (issue #1026) [ok]: 5 keys in, 5 keys out [ok]: EXPIRE with empty string as TTL should report an error [ok]: SET - use EX/PX option, TTL should not be reseted after loadaof [18/50 done]: unit/expire (15 seconds) Testing unit/other [ok]: SAVE - make sure there are all the types as values [ok]: FUZZ stresser with data model binary [ok]: FUZZ stresser with data model alpha [ok]: FUZZ stresser with data model compr [ok]: BGSAVE [ok]: SELECT an out of range DB [ok]: EXPIRES after a reload (snapshot + append only file rewrite) [ok]: EXPIRES after AOF reload (without rewrite) [ok]: PIPELINING stresser (also a regression for the old epoll bug) [ok]: APPEND basics [ok]: APPEND basics, integer encoded values [ok]: APPEND fuzzing [ok]: FLUSHDB [ok]: Perform a final SAVE to leave a clean DB on disk [19/50 done]: unit/other (18 seconds) Testing unit/multi [ok]: MUTLI / EXEC basics [ok]: DISCARD [ok]: Nested MULTI are not allowed [ok]: MULTI where commands alter argc/argv [ok]: WATCH inside MULTI is not allowed [ok]: EXEC fails if there are errors while queueing commands #1 [ok]: EXEC fails if there are errors while queueing commands #2 [ok]: If EXEC aborts, the client MULTI state is cleared [ok]: EXEC works on WATCHed key not modified [ok]: EXEC fail on WATCHed key modified (1 key of 1 watched) [ok]: EXEC fail on WATCHed key modified (1 key of 5 watched) [ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty [ok]: After successful EXEC key is no longer watched [ok]: After failed EXEC key is no longer watched [ok]: It is possible to UNWATCH [ok]: UNWATCH when there is nothing watched works as expected [ok]: FLUSHALL is able to touch the watched keys [ok]: FLUSHALL does not touch non affected keys [ok]: FLUSHDB is able to touch the watched keys [ok]: FLUSHDB does not touch non affected keys [ok]: WATCH is able to remember the DB a key belongs to [ok]: WATCH will consider touched keys target of EXPIRE [ok]: WATCH will not consider touched expired keys [ok]: DISCARD should clear the WATCH dirty flag on the client [ok]: DISCARD should UNWATCH all the keys [ok]: MULTI / EXEC is propagated correctly (single write command) [ok]: MULTI / EXEC is propagated correctly (empty transaction) [ok]: MULTI / EXEC is propagated correctly (read-only commands) [ok]: MULTI / EXEC is propagated correctly (write command, no effect) [20/50 done]: unit/multi (3 seconds) Testing unit/quit [ok]: QUIT returns OK [ok]: Pipelined commands after QUIT must not be executed [ok]: Pipelined commands after QUIT that exceed read buffer size [21/50 done]: unit/quit (0 seconds) Testing unit/aofrw [ok]: AOF rewrite during write load: RDB preamble=yes [ok]: AOF rewrite during write load: RDB preamble=no [ok]: Turning off AOF kills the background writing child if any [ok]: AOF rewrite of list with quicklist encoding, string data [ok]: AOF rewrite of list with quicklist encoding, int data [ok]: AOF rewrite of set with intset encoding, string data [ok]: AOF rewrite of set with hashtable encoding, string data [ok]: AOF rewrite of set with intset encoding, int data [ok]: AOF rewrite of set with hashtable encoding, int data [ok]: AOF rewrite of hash with ziplist encoding, string data [ok]: AOF rewrite of hash with hashtable encoding, string data [ok]: AOF rewrite of hash with ziplist encoding, int data [ok]: AOF rewrite of hash with hashtable encoding, int data [ok]: AOF rewrite of zset with ziplist encoding, string data [ok]: AOF rewrite of zset with skiplist encoding, string data [ok]: AOF rewrite of zset with ziplist encoding, int data [ok]: AOF rewrite of zset with skiplist encoding, int data [ok]: BGREWRITEAOF is delayed if BGSAVE is in progress [ok]: BGREWRITEAOF is refused if already in progress [22/50 done]: unit/aofrw (87 seconds) Testing integration/block-repl [ok]: First server should have role slave after SLAVEOF [ok]: Test replication with blocking lists and sorted sets operations [23/50 done]: integration/block-repl (29 seconds) Testing integration/replication [ok]: Slave enters handshake [ok]: Slave is able to detect timeout during handshake [ok]: Set instance A as slave of B [ok]: BRPOPLPUSH replication, when blocking against empty list [ok]: BRPOPLPUSH replication, list exists [ok]: BLPOP followed by role change, issue #2473 [ok]: Second server should have role master at first [ok]: SLAVEOF should start with link status "down" [ok]: The role should immediately be changed to "replica" [ok]: Sync should have transferred keys from master [ok]: The link status should be up [ok]: SET on the master should immediately propagate [ok]: FLUSHALL should replicate [ok]: ROLE in master reports master with a slave [ok]: ROLE in slave reports slave in connected state [ok]: Connect multiple replicas at the same time (issue #141), diskless=no [ok]: Connect multiple replicas at the same time (issue #141), diskless=yes [ok]: Master stream is correctly processed while the replica has a script in -BUSY state [24/50 done]: integration/replication (199 seconds) Testing integration/replication-2 [ok]: First server should have role slave after SLAVEOF [ok]: If min-slaves-to-write is honored, write is accepted [ok]: No write if min-slaves-to-write is < attached slaves [ok]: If min-slaves-to-write is honored, write is accepted (again) [ok]: No write if min-slaves-max-lag is > of the slave lag [ok]: min-slaves-to-write is ignored by slaves [ok]: MASTER and SLAVE dataset should be identical after complex ops [25/50 done]: integration/replication-2 (17 seconds) Testing integration/replication-3 [ok]: First server should have role slave after SLAVEOF [ok]: MASTER and SLAVE consistency with expire [ok]: Slave is able to evict keys created in writable slaves [ok]: First server should have role slave after SLAVEOF [ok]: MASTER and SLAVE consistency with EVALSHA replication [ok]: SLAVE can reload "lua" AUX RDB fields of duplicated scripts [26/50 done]: integration/replication-3 (39 seconds) Testing integration/replication-4 [ok]: First server should have role slave after SLAVEOF [ok]: Test replication with parallel clients writing in differnet DBs [ok]: First server should have role slave after SLAVEOF [ok]: With min-slaves-to-write (1,3): master should be writable [ok]: With min-slaves-to-write (2,3): master should not be writable [ok]: With min-slaves-to-write: master not writable with lagged slave [ok]: First server should have role slave after SLAVEOF [ok]: Replication: commands with many arguments (issue #1221) [ok]: Replication of SPOP command -- alsoPropagate() API [27/50 done]: integration/replication-4 (37 seconds) Testing integration/replication-psync [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: no reconnection, just sync (diskless: no, reconnect: 0) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: ok psync (diskless: no, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: no backlog (diskless: no, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: ok after delay (diskless: no, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: backlog expired (diskless: no, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, reconnect: 0) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: no backlog (diskless: yes, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: ok after delay (diskless: yes, reconnect: 1) [ok]: Slave should be able to synchronize with the master [ok]: Detect write load to master [ok]: Test replication partial resync: backlog expired (diskless: yes, reconnect: 1) [28/50 done]: integration/replication-psync (99 seconds) Testing integration/aof [ok]: Unfinished MULTI: Server should start if load-truncated is yes [ok]: Short read: Server should start if load-truncated is yes [ok]: Truncated AOF loaded: we expect foo to be equal to 5 [ok]: Append a new command after loading an incomplete AOF [ok]: Short read + command: Server should start [ok]: Truncated AOF loaded: we expect foo to be equal to 6 now [ok]: Bad format: Server should have logged an error [ok]: Unfinished MULTI: Server should have logged an error [ok]: Short read: Server should have logged an error [ok]: Short read: Utility should confirm the AOF is not valid [ok]: Short read: Utility should be able to fix the AOF [ok]: Fixed AOF: Server should have been started [ok]: Fixed AOF: Keyspace should contain values that were parseable [ok]: AOF+SPOP: Server should have been started [ok]: AOF+SPOP: Set should have 1 member [ok]: AOF+SPOP: Server should have been started [ok]: AOF+SPOP: Set should have 1 member [ok]: AOF+EXPIRE: Server should have been started [ok]: AOF+EXPIRE: List should be empty [ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1 [29/50 done]: integration/aof (4 seconds) Testing integration/rdb [ok]: RDB encoding loading test [ok]: Server started empty with non-existing RDB file [ok]: Server started empty with empty RDB file [ok]: Test RDB stream encoding [ok]: Server should not start if RDB file can't be open [ok]: Server should not start if RDB is corrupted [30/50 done]: integration/rdb (1 seconds) Testing integration/convert-zipmap-hash-on-load [ok]: RDB load zipmap hash: converts to ziplist [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded [ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded [31/50 done]: integration/convert-zipmap-hash-on-load (1 seconds) Testing integration/logging [ok]: Server is able to generate a stack trace on selected systems [32/50 done]: integration/logging (1 seconds) Testing integration/psync2 [ok]: PSYNC2: --- CYCLE 1 --- [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master [ok]: PSYNC2: Set #1 to replicate from #4 [ok]: PSYNC2: Set #2 to replicate from #1 [ok]: PSYNC2: Set #3 to replicate from #1 [ok]: PSYNC2: Set #0 to replicate from #4 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links [ok]: PSYNC2: cluster is consistent after load (x = 28442) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 2 --- [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master [ok]: PSYNC2: Set #2 to replicate from #4 [ok]: PSYNC2: Set #0 to replicate from #4 [ok]: PSYNC2: Set #3 to replicate from #4 [ok]: PSYNC2: Set #1 to replicate from #2 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links [ok]: PSYNC2: cluster is consistent after load (x = 54118) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: --- CYCLE 3 --- [ok]: PSYNC2: [NEW LAYOUT] Set #4 as master [ok]: PSYNC2: Set #0 to replicate from #4 [ok]: PSYNC2: Set #1 to replicate from #0 [ok]: PSYNC2: Set #2 to replicate from #1 [ok]: PSYNC2: Set #3 to replicate from #0 [ok]: PSYNC2: cluster is consistent after failover [ok]: PSYNC2: generate load while killing replication links [ok]: PSYNC2: cluster is consistent after load (x = 84301) [ok]: PSYNC2: total sum of full synchronizations is exactly 4 [ok]: PSYNC2: Bring the master back again for next test [ok]: PSYNC2: Partial resync after restart using RDB aux fields [ok]: PSYNC2: Replica RDB restart with EVALSHA in backlog issue #4483 [33/50 done]: integration/psync2 (27 seconds) Testing integration/psync2-reg [ok]: PSYNC2 #3899 regression: setup [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill chained replica [ok]: PSYNC2 #3899 regression: kill first replica [ok]: PSYNC2 #3899 regression: verify consistency [34/50 done]: integration/psync2-reg (22 seconds) Testing unit/pubsub [ok]: Pub/Sub PING [ok]: PUBLISH/SUBSCRIBE basics [ok]: PUBLISH/SUBSCRIBE with two clients [ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments [ok]: SUBSCRIBE to one channel more than once [ok]: UNSUBSCRIBE from non-subscribed channels [ok]: PUBLISH/PSUBSCRIBE basics [ok]: PUBLISH/PSUBSCRIBE with two clients [ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments [ok]: PUNSUBSCRIBE from non-subscribed channels [ok]: NUMSUB returns numbers, not strings (#1561) [ok]: Mix SUBSCRIBE and PSUBSCRIBE [ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply [ok]: Keyspace notifications: we receive keyspace notifications [ok]: Keyspace notifications: we receive keyevent notifications [ok]: Keyspace notifications: we can receive both kind of events [ok]: Keyspace notifications: we are able to mask events [ok]: Keyspace notifications: general events test [ok]: Keyspace notifications: list events test [ok]: Keyspace notifications: set events test [ok]: Keyspace notifications: zset events test [ok]: Keyspace notifications: hash events test [ok]: Keyspace notifications: expired events (triggered expire) [ok]: Keyspace notifications: expired events (background expire) [ok]: Keyspace notifications: evicted events [ok]: Keyspace notifications: test CONFIG GET/SET of event flags [35/50 done]: unit/pubsub (1 seconds) Testing unit/slowlog [ok]: SLOWLOG - check that it starts with an empty log [ok]: SLOWLOG - only logs commands taking more time than specified [ok]: SLOWLOG - max entries is correctly handled [ok]: SLOWLOG - GET optional argument to limit output len works [ok]: SLOWLOG - RESET subcommand works [ok]: SLOWLOG - logged entry sanity check [ok]: SLOWLOG - commands with too many arguments are trimmed [ok]: SLOWLOG - too long arguments are trimmed [ok]: SLOWLOG - EXEC is not logged, just executed commands [ok]: SLOWLOG - can clean older entires [ok]: SLOWLOG - can be disabled [36/50 done]: unit/slowlog (1 seconds) Testing unit/scripting [ok]: EVAL - Does Lua interpreter replies to our requests? [ok]: EVAL - Lua integer -> Redis protocol type conversion [ok]: EVAL - Lua string -> Redis protocol type conversion [ok]: EVAL - Lua true boolean -> Redis protocol type conversion [ok]: EVAL - Lua false boolean -> Redis protocol type conversion [ok]: EVAL - Lua status code reply -> Redis protocol type conversion [ok]: EVAL - Lua error reply -> Redis protocol type conversion [ok]: EVAL - Lua table -> Redis protocol type conversion [ok]: EVAL - Are the KEYS and ARGV arrays populated correctly? [ok]: EVAL - is Lua able to call Redis API? [ok]: EVALSHA - Can we call a SHA1 if already defined? [ok]: EVALSHA - Can we call a SHA1 in uppercase? [ok]: EVALSHA - Do we get an error on invalid SHA1? [ok]: EVALSHA - Do we get an error on non defined SHA1? [ok]: EVAL - Redis integer -> Lua type conversion [ok]: EVAL - Redis bulk -> Lua type conversion [ok]: EVAL - Redis multi bulk -> Lua type conversion [ok]: EVAL - Redis status reply -> Lua type conversion [ok]: EVAL - Redis error reply -> Lua type conversion [ok]: EVAL - Redis nil bulk reply -> Lua type conversion [ok]: EVAL - Is the Lua client using the currently selected DB? [ok]: EVAL - SELECT inside Lua should not affect the caller [ok]: EVAL - Scripts can't run certain commands [ok]: EVAL - Scripts can't run certain commands [ok]: EVAL - No arguments to redis.call/pcall is considered an error [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) [ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1) [ok]: EVAL - JSON numeric decoding [ok]: EVAL - JSON string decoding [ok]: EVAL - cmsgpack can pack double? [ok]: EVAL - cmsgpack can pack negative int64? [ok]: EVAL - cmsgpack can pack and unpack circular references? [ok]: EVAL - Numerical sanity check from bitop [ok]: EVAL - Verify minimal bitop functionality [ok]: EVAL - Able to parse trailing comments [ok]: SCRIPTING FLUSH - is able to clear the scripts cache? [ok]: SCRIPT EXISTS - can detect already defined scripts? [ok]: SCRIPT LOAD - is able to register scripts in the scripting cache [ok]: In the context of Lua the output of random commands gets ordered [ok]: SORT is normally not alpha re-ordered for the scripting engine [ok]: SORT BY output gets ordered for scripting [ok]: SORT BY with GET gets ordered for scripting [ok]: redis.sha1hex() implementation [ok]: Globals protection reading an undeclared global variable [ok]: Globals protection setting an undeclared global* [ok]: Test an example script DECR_IF_GT [ok]: Scripting engine resets PRNG at every script execution [ok]: Scripting engine PRNG can be seeded correctly [ok]: EVAL does not leak in the Lua stack [ok]: EVAL processes writes from AOF in read-only slaves [ok]: We can call scripts rewriting client->argv from Lua [ok]: Call Redis command with many args from Lua (issue #1764) [ok]: Number conversion precision test (issue #1118) [ok]: String containing number precision test (regression of issue #1118) [ok]: Verify negative arg count is error instead of crash (issue #1842) [ok]: Correct handling of reused argv (issue #1939) [ok]: Functions in the Redis namespace are able to report errors [ok]: Timedout read-only scripts can be killed by SCRIPT KILL [ok]: Timedout script link is still usable after Lua returns [ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL [ok]: SHUTDOWN NOSAVE can kill a timedout script anyway [ok]: Before the replica connects we issue two EVAL commands (scripts replication) [ok]: Connect a replica to the master instance (scripts replication) [ok]: Now use EVALSHA against the master, with both SHAs (scripts replication) [ok]: If EVALSHA was replicated as EVAL, 'x' should be '4' (scripts replication) [ok]: Replication of script multiple pushes to list with BLPOP (scripts replication) [ok]: EVALSHA replication when first call is readonly (scripts replication) [ok]: Lua scripts using SELECT are replicated correctly (scripts replication) [ok]: Before the replica connects we issue two EVAL commands (commmands replication) [ok]: Connect a replica to the master instance (commmands replication) [ok]: Now use EVALSHA against the master, with both SHAs (commmands replication) [ok]: If EVALSHA was replicated as EVAL, 'x' should be '4' (commmands replication) [ok]: Replication of script multiple pushes to list with BLPOP (commmands replication) [ok]: EVALSHA replication when first call is readonly (commmands replication) [ok]: Lua scripts using SELECT are replicated correctly (commmands replication) [ok]: Connect a replica to the master instance [ok]: Redis.replicate_commands() must be issued before any write [ok]: Redis.replicate_commands() must be issued before any write (2) [ok]: Redis.set_repl() must be issued after replicate_commands() [ok]: Redis.set_repl() don't accept invalid values [ok]: Test selective replication of certain Redis commands from Lua [ok]: PRNG is seeded randomly for command replication [ok]: Using side effects is not a problem with command replication [ok]: Test scripting debug protocol parsing [37/50 done]: unit/scripting (7 seconds) Testing unit/maxmemory [ok]: Without maxmemory small integers are shared [ok]: With maxmemory and non-LRU policy integers are still shared [ok]: With maxmemory and LRU policy integers are not shared [ok]: maxmemory - is the memory limit honoured? (policy allkeys-random) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru) [ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lru) [ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu) [ok]: maxmemory - is the memory limit honoured? (policy volatile-random) [ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random) [ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl) [ok]: maxmemory - policy volatile-lru should only remove volatile keys. [ok]: maxmemory - policy volatile-lfu should only remove volatile keys. [ok]: maxmemory - policy volatile-random should only remove volatile keys. [ok]: maxmemory - policy volatile-ttl should only remove volatile keys. [ok]: slave buffer are counted correctly [ok]: replica buffer don't induce eviction [38/50 done]: unit/maxmemory (57 seconds) Testing unit/introspection [ok]: CLIENT LIST [ok]: MONITOR can log executed commands [ok]: MONITOR can log commands issued by the scripting engine [ok]: CLIENT GETNAME should return NIL if name is not assigned [ok]: CLIENT LIST shows empty fields for unassigned names [ok]: CLIENT SETNAME does not accept spaces [ok]: CLIENT SETNAME can assign a name to this connection [ok]: CLIENT SETNAME can change the name of an existing connection [ok]: After CLIENT SETNAME, connection can still be closed [39/50 done]: unit/introspection (0 seconds) Testing unit/introspection-2 [ok]: TTL and TYPYE do not alter the last access time of a key [ok]: TOUCH alters the last access time of a key [ok]: TOUCH returns the number of existing keys specified [ok]: command stats for GEOADD [ok]: command stats for EXPIRE [ok]: command stats for BRPOP [ok]: command stats for MULTI [ok]: command stats for scripts [40/50 done]: unit/introspection-2 (7 seconds) Testing unit/limits [ok]: Check if maxclients works refusing connections [41/50 done]: unit/limits (1 seconds) Testing unit/obuf-limits [ok]: Client output buffer hard limit is enforced [ok]: Client output buffer soft limit is not enforced if time is not overreached [ok]: Client output buffer soft limit is enforced if time is overreached [42/50 done]: unit/obuf-limits (35 seconds) Testing unit/bitops [ok]: BITCOUNT returns 0 against non existing key [ok]: BITCOUNT returns 0 with out of range indexes [ok]: BITCOUNT returns 0 with negative indexes where start > end [ok]: BITCOUNT against test vector #1 [ok]: BITCOUNT against test vector #2 [ok]: BITCOUNT against test vector #3 [ok]: BITCOUNT against test vector #4 [ok]: BITCOUNT against test vector #5 [ok]: BITCOUNT fuzzing without start/end [ok]: BITCOUNT fuzzing with start/end [ok]: BITCOUNT with start, end [ok]: BITCOUNT syntax error #1 [ok]: BITCOUNT regression test for github issue #582 [ok]: BITCOUNT misaligned prefix [ok]: BITCOUNT misaligned prefix + full words + remainder [ok]: BITOP NOT (empty string) [ok]: BITOP NOT (known string) [ok]: BITOP where dest and target are the same key [ok]: BITOP AND|OR|XOR don't change the string with single input key [ok]: BITOP missing key is considered a stream of zero [ok]: BITOP shorter keys are zero-padded to the key with max length [ok]: BITOP and fuzzing [ok]: BITOP or fuzzing [ok]: BITOP xor fuzzing [ok]: BITOP NOT fuzzing [ok]: BITOP with integer encoded source objects [ok]: BITOP with non string source key [ok]: BITOP with empty string after non empty string (issue #529) [ok]: BITPOS bit=0 with empty key returns 0 [ok]: BITPOS bit=1 with empty key returns -1 [ok]: BITPOS bit=0 with string less than 1 word works [ok]: BITPOS bit=1 with string less than 1 word works [ok]: BITPOS bit=0 starting at unaligned address [ok]: BITPOS bit=1 starting at unaligned address [ok]: BITPOS bit=0 unaligned+full word+reminder [ok]: BITPOS bit=1 unaligned+full word+reminder [ok]: BITPOS bit=1 returns -1 if string is all 0 bits [ok]: BITPOS bit=0 works with intervals [ok]: BITPOS bit=1 works with intervals [ok]: BITPOS bit=0 changes behavior if end is given [ok]: BITPOS bit=1 fuzzy testing using SETBIT [ok]: BITPOS bit=0 fuzzy testing using SETBIT [43/50 done]: unit/bitops (4 seconds) Testing unit/bitfield [ok]: BITFIELD signed SET and GET basics [ok]: BITFIELD unsigned SET and GET basics [ok]: BITFIELD # form [ok]: BITFIELD basic INCRBY form [ok]: BITFIELD chaining of multiple commands [ok]: BITFIELD unsigned overflow wrap [ok]: BITFIELD unsigned overflow sat [ok]: BITFIELD signed overflow wrap [ok]: BITFIELD signed overflow sat [ok]: BITFIELD overflow detection fuzzing [ok]: BITFIELD overflow wrap fuzzing [ok]: BITFIELD regression for #3221 [ok]: BITFIELD regression for #3564 [44/50 done]: unit/bitfield (2 seconds) Testing unit/geo [ok]: GEOADD create [ok]: GEOADD update [ok]: GEOADD invalid coordinates [ok]: GEOADD multi add [ok]: Check geoset values [ok]: GEORADIUS simple (sorted) [ok]: GEORADIUS withdist (sorted) [ok]: GEORADIUS with COUNT [ok]: GEORADIUS with COUNT but missing integer argument [ok]: GEORADIUS with COUNT DESC [ok]: GEORADIUS HUGE, issue #2767 [ok]: GEORADIUSBYMEMBER simple (sorted) [ok]: GEORADIUSBYMEMBER withdist (sorted) [ok]: GEOHASH is able to return geohash strings [ok]: GEOPOS simple [ok]: GEOPOS missing element [ok]: GEODIST simple & unit [ok]: GEODIST missing elements [ok]: GEORADIUS STORE option: syntax error [ok]: GEORANGE STORE option: incompatible options [ok]: GEORANGE STORE option: plain usage [ok]: GEORANGE STOREDIST option: plain usage [ok]: GEORANGE STOREDIST option: COUNT ASC and DESC [ok]: GEOADD + GEORANGE randomized test [45/50 done]: unit/geo (24 seconds) Testing unit/memefficiency [ok]: Memory efficiency with values in range 32 [ok]: Memory efficiency with values in range 64 [ok]: Memory efficiency with values in range 128 [ok]: Memory efficiency with values in range 1024 [ok]: Memory efficiency with values in range 16384 [ok]: Active defrag [ok]: Active defrag big keys [46/50 done]: unit/memefficiency (60 seconds) Testing unit/hyperloglog [ok]: HyperLogLog self test passes [ok]: PFADD without arguments creates an HLL value [ok]: Approximated cardinality after creation is zero [ok]: PFADD returns 1 when at least 1 reg was modified [ok]: PFADD returns 0 when no reg was modified [ok]: PFADD works with empty string (regression) [ok]: PFCOUNT returns approximated cardinality of set [ok]: HyperLogLogs are promote from sparse to dense [ok]: HyperLogLog sparse encoding stress test [ok]: Corrupted sparse HyperLogLogs are detected: Additionl at tail [ok]: Corrupted sparse HyperLogLogs are detected: Broken magic [ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding [ok]: Corrupted dense HyperLogLogs are detected: Wrong length [ok]: Fuzzing dense/sparse encoding: Redis should always detect errors [ok]: PFADD, PFCOUNT, PFMERGE type checking works [ok]: PFMERGE results on the cardinality of union of sets [ok]: PFCOUNT multiple-keys merge returns cardinality of union #1 [ok]: PFCOUNT multiple-keys merge returns cardinality of union #2 [ok]: PFDEBUG GETREG returns the HyperLogLog raw registers [ok]: PFADD / PFCOUNT cache invalidation works [47/50 done]: unit/hyperloglog (51 seconds) Testing unit/lazyfree [ok]: UNLINK can reclaim memory in background [ok]: FLUSHDB ASYNC can reclaim memory in background [48/50 done]: unit/lazyfree (2 seconds) Testing unit/wait [ok]: Setup slave [ok]: WAIT should acknowledge 1 additional copy of the data [ok]: WAIT should not acknowledge 2 additional copies of the data [ok]: WAIT should not acknowledge 1 additional copy if slave is blocked [49/50 done]: unit/wait (6 seconds) Testing unit/pendingquerybuf [ok]: pending querybuf: check size of pending_querybuf after set a big value [50/50 done]: unit/pendingquerybuf (9 seconds) The End Execution time of different units: 1 seconds - unit/printver 32 seconds - unit/dump 1 seconds - unit/auth 1 seconds - unit/protocol 2 seconds - unit/keyspace 16 seconds - unit/scan 18 seconds - unit/type/string 0 seconds - unit/type/incr 15 seconds - unit/type/list 30 seconds - unit/type/list-2 40 seconds - unit/type/list-3 13 seconds - unit/type/set 27 seconds - unit/type/zset 12 seconds - unit/type/hash 45 seconds - unit/type/stream 4 seconds - unit/type/stream-cgroups 19 seconds - unit/sort 15 seconds - unit/expire 18 seconds - unit/other 3 seconds - unit/multi 0 seconds - unit/quit 87 seconds - unit/aofrw 29 seconds - integration/block-repl 199 seconds - integration/replication 17 seconds - integration/replication-2 39 seconds - integration/replication-3 37 seconds - integration/replication-4 99 seconds - integration/replication-psync 4 seconds - integration/aof 1 seconds - integration/rdb 1 seconds - integration/convert-zipmap-hash-on-load 1 seconds - integration/logging 27 seconds - integration/psync2 22 seconds - integration/psync2-reg 1 seconds - unit/pubsub 1 seconds - unit/slowlog 7 seconds - unit/scripting 57 seconds - unit/maxmemory 0 seconds - unit/introspection 7 seconds - unit/introspection-2 1 seconds - unit/limits 35 seconds - unit/obuf-limits 4 seconds - unit/bitops 2 seconds - unit/bitfield 24 seconds - unit/geo 60 seconds - unit/memefficiency 51 seconds - unit/hyperloglog 2 seconds - unit/lazyfree 6 seconds - unit/wait 9 seconds - unit/pendingquerybuf \o/ All tests passed without errors! Cleanup: may take some time... OK ./runtest-cluster || true Starting redis #0 at port 30000 Starting redis #1 at port 30001 Starting redis #2 at port 30002 Starting redis #3 at port 30003 Starting redis #4 at port 30004 Starting redis #5 at port 30005 Starting redis #6 at port 30006 Starting redis #7 at port 30007 Starting redis #8 at port 30008 Starting redis #9 at port 30009 Starting redis #10 at port 30010 Starting redis #11 at port 30011 Starting redis #12 at port 30012 Starting redis #13 at port 30013 Starting redis #14 at port 30014 Starting redis #15 at port 30015 Starting redis #16 at port 30016 Starting redis #17 at port 30017 Starting redis #18 at port 30018 Starting redis #19 at port 30019 Testing unit: 00-base.tcl 08:18:39> (init) Restart killed instances: OK 08:18:39> Cluster nodes are reachable: OK 08:18:39> Cluster nodes hard reset: OK 08:18:39> Cluster Join and auto-discovery test: OK 08:18:43> Before slots allocation, all nodes report cluster failure: OK 08:18:44> Different nodes have different IDs: OK 08:18:44> It is possible to perform slot allocation: OK 08:18:44> After the join, every node gets a different config epoch: OK 08:18:45> Nodes should report cluster_state is ok now: OK 08:18:48> It is possible to write and read from the cluster: OK Testing unit: 01-faildet.tcl 08:18:48> (init) Restart killed instances: OK 08:18:48> Cluster nodes are reachable: OK 08:18:48> Cluster nodes hard reset: OK 08:18:48> Cluster Join and auto-discovery test: OK 08:18:52> Before slots allocation, all nodes report cluster failure: OK 08:18:52> Create a 5 nodes cluster: OK 08:18:56> Cluster should start ok: OK 08:18:56> Killing two slave nodes: OK 08:18:56> Cluster should be still up: OK 08:18:56> Killing one master node: OK 08:18:57> Cluster should be down now: OK 08:19:00> Restarting master node: OK 08:19:00> Cluster should be up again: OK Testing unit: 02-failover.tcl 08:19:07> (init) Restart killed instances: redis/5 redis/6 OK 08:19:07> Cluster nodes are reachable: OK 08:19:07> Cluster nodes hard reset: OK 08:19:07> Cluster Join and auto-discovery test: OK 08:19:10> Before slots allocation, all nodes report cluster failure: OK 08:19:10> Create a 5 nodes cluster: OK 08:19:14> Cluster is up: OK 08:19:14> Cluster is writable: OK 08:19:14> Instance #5 is a slave: OK 08:19:14> Instance #5 synced with the master: OK 08:19:14> Killing one master node: OK 08:19:14> Wait for failover: OK 08:19:18> Cluster should eventually be up again: OK 08:19:18> Cluster is writable: OK 08:19:19> Instance #5 is now a master: OK 08:19:19> Restarting the previously killed master node: OK 08:19:19> Instance #0 gets converted into a slave: OK Testing unit: 03-failover-loop.tcl 08:19:19> (init) Restart killed instances: OK 08:19:19> Cluster nodes are reachable: OK 08:19:19> Cluster nodes hard reset: OK 08:19:19> Cluster Join and auto-discovery test: OK 08:19:23> Before slots allocation, all nodes report cluster failure: OK 08:19:23> Create a 5 nodes cluster: OK 08:19:27> Cluster is up: OK --- Iteration 19 --- 08:19:27> Wait for slave of #0 to sync: OK 08:19:27> Cluster is writable before failover: OK 08:19:27> Killing node #0: OK 08:19:28> Wait failover by #5 with old epoch 1: OK 08:19:32> Cluster should eventually be up again: OK 08:19:32> Cluster is writable again: OK 08:19:32> Restarting node #0: OK 08:19:32> Instance #0 is now a slave: OK 08:19:32> We can read back the value we set before: OK --- Iteration 18 --- 08:19:32> Wait for slave of #3 to sync: OK 08:19:32> Cluster is writable before failover: OK 08:19:32> Killing node #3: OK 08:19:32> Wait failover by #8 with old epoch 4: OK 08:19:37> Cluster should eventually be up again: OK 08:19:37> Cluster is writable again: OK 08:19:37> Restarting node #3: OK 08:19:37> Instance #3 is now a slave: OK 08:19:37> We can read back the value we set before: OK --- Iteration 17 --- 08:19:37> Cluster is writable before failover: OK 08:19:37> Killing node #6: OK 08:19:37> Cluster should eventually be up again: OK 08:19:37> Cluster is writable again: OK 08:19:37> Restarting node #6: OK 08:19:37> Instance #6 is now a slave: OK 08:19:37> We can read back the value we set before: OK --- Iteration 16 --- 08:19:37> Wait for slave of #8 to sync: OK 08:19:38> Cluster is writable before failover: OK 08:19:38> Killing node #8: OK 08:19:38> Wait failover by #3 with old epoch 22: OK 08:19:42> Cluster should eventually be up again: OK 08:19:42> Cluster is writable again: OK 08:19:43> Restarting node #8: OK 08:19:44> Instance #8 is now a slave: OK 08:19:44> We can read back the value we set before: OK --- Iteration 15 --- 08:19:46> Wait for slave of #5 to sync: OK 08:19:46> Cluster is writable before failover: OK 08:19:46> Killing node #5: OK 08:19:46> Wait failover by #0 with old epoch 21: OK 08:19:50> Cluster should eventually be up again: OK 08:19:51> Cluster is writable again: OK 08:19:51> Restarting node #5: OK 08:19:52> Instance #5 is now a slave: OK 08:19:52> We can read back the value we set before: OK --- Iteration 14 --- 08:19:53> Wait for slave of #0 to sync: OK 08:19:53> Cluster is writable before failover: OK 08:19:54> Killing node #0: OK 08:19:54> Wait failover by #5 with old epoch 24: OK 08:19:58> Cluster should eventually be up again: OK 08:19:59> Cluster is writable again: OK 08:20:00> Restarting node #0: OK 08:20:00> Instance #0 is now a slave: OK 08:20:00> We can read back the value we set before: OK --- Iteration 13 --- 08:20:02> Wait for slave of #4 to sync: OK 08:20:02> Cluster is writable before failover: OK 08:20:02> Killing node #4: OK 08:20:02> Wait failover by #9 with old epoch 5: OK 08:20:06> Cluster should eventually be up again: OK 08:20:07> Cluster is writable again: OK 08:20:08> Restarting node #4: OK 08:20:08> Instance #4 is now a slave: OK 08:20:08> We can read back the value we set before: OK --- Iteration 12 --- 08:20:09> Cluster is writable before failover: OK 08:20:10> Killing node #0: OK 08:20:10> Cluster should eventually be up again: OK 08:20:10> Cluster is writable again: OK 08:20:11> Restarting node #0: OK 08:20:11> Instance #0 is now a slave: OK 08:20:11> We can read back the value we set before: OK --- Iteration 11 --- 08:20:13> Wait for slave of #5 to sync: OK 08:20:13> Cluster is writable before failover: OK 08:20:14> Killing node #5: OK 08:20:14> Wait failover by #0 with old epoch 25: OK 08:20:18> Cluster should eventually be up again: OK 08:20:18> Cluster is writable again: OK 08:20:19> Restarting node #5: OK 08:20:19> Instance #5 is now a slave: OK 08:20:19> We can read back the value we set before: OK --- Iteration 10 --- 08:20:21> Cluster is writable before failover: OK 08:20:21> Killing node #8: OK 08:20:21> Cluster should eventually be up again: OK 08:20:21> Cluster is writable again: OK 08:20:22> Restarting node #8: OK 08:20:22> Instance #8 is now a slave: OK 08:20:22> We can read back the value we set before: OK --- Iteration 9 --- 08:20:23> Wait for slave of #1 to sync: OK 08:20:23> Cluster is writable before failover: OK 08:20:24> Killing node #1: OK 08:20:24> Wait failover by #6 with old epoch 2: OK 08:20:28> Cluster should eventually be up again: OK 08:20:28> Cluster is writable again: OK 08:20:29> Restarting node #1: OK 08:20:29> Instance #1 is now a slave: OK 08:20:29> We can read back the value we set before: OK --- Iteration 8 --- 08:20:30> Cluster is writable before failover: OK 08:20:31> Killing node #5: OK 08:20:31> Cluster should eventually be up again: OK 08:20:31> Cluster is writable again: OK 08:20:31> Restarting node #5: OK 08:20:32> Instance #5 is now a slave: OK 08:20:32> We can read back the value we set before: OK --- Iteration 7 --- 08:20:33> Cluster is writable before failover: OK 08:20:33> Killing node #5: OK 08:20:33> Cluster should eventually be up again: OK 08:20:34> Cluster is writable again: OK 08:20:34> Restarting node #5: OK 08:20:34> Instance #5 is now a slave: OK 08:20:34> We can read back the value we set before: OK --- Iteration 6 --- 08:20:36> Cluster is writable before failover: OK 08:20:36> Killing node #4: OK 08:20:37> Cluster should eventually be up again: OK 08:20:37> Cluster is writable again: OK 08:20:37> Restarting node #4: OK 08:20:37> Instance #4 is now a slave: OK 08:20:37> We can read back the value we set before: OK --- Iteration 5 --- 08:20:39> Wait for slave of #2 to sync: OK 08:20:39> Cluster is writable before failover: OK 08:20:40> Killing node #2: OK 08:20:40> Wait failover by #7 with old epoch 3: OK 08:20:45> Cluster should eventually be up again: OK 08:20:45> Cluster is writable again: OK 08:20:46> Restarting node #2: OK 08:20:46> Instance #2 is now a slave: OK 08:20:46> We can read back the value we set before: OK --- Iteration 4 --- 08:20:47> Cluster is writable before failover: OK 08:20:48> Killing node #8: OK 08:20:48> Cluster should eventually be up again: OK 08:20:48> Cluster is writable again: OK 08:20:48> Restarting node #8: OK 08:20:48> Instance #8 is now a slave: OK 08:20:48> We can read back the value we set before: OK --- Iteration 3 --- 08:20:49> Cluster is writable before failover: OK 08:20:50> Killing node #2: OK 08:20:50> Cluster should eventually be up again: OK 08:20:50> Cluster is writable again: OK 08:20:51> Restarting node #2: OK 08:20:51> Instance #2 is now a slave: OK 08:20:51> We can read back the value we set before: OK --- Iteration 2 --- 08:20:52> Cluster is writable before failover: OK 08:20:53> Killing node #5: OK 08:20:53> Cluster should eventually be up again: OK 08:20:53> Cluster is writable again: OK 08:20:54> Restarting node #5: OK 08:20:54> Instance #5 is now a slave: OK 08:20:54> We can read back the value we set before: OK --- Iteration 1 --- 08:20:55> Cluster is writable before failover: OK 08:20:56> Killing node #2: OK 08:20:56> Cluster should eventually be up again: OK 08:20:56> Cluster is writable again: OK 08:20:57> Restarting node #2: OK 08:20:57> Instance #2 is now a slave: OK 08:20:57> We can read back the value we set before: OK 08:20:58> Post condition: current_epoch >= my_epoch everywhere: OK Testing unit: 04-resharding.tcl 08:20:58> (init) Restart killed instances: OK 08:20:58> Cluster nodes are reachable: OK 08:20:58> Cluster nodes hard reset: OK 08:21:00> Cluster Join and auto-discovery test: OK 08:21:04> Before slots allocation, all nodes report cluster failure: OK 08:21:04> Create a 5 nodes cluster: OK 08:21:08> Cluster is up: OK 08:21:08> Enable AOF in all the instances: OK 08:21:09> Cluster consistency during live resharding: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...Starting resharding...W...................................................W...............................................................................................W...............................................................................W.................W................................W...........................................................................W.....................................................W.................................................................................W................................................................................W....................................................................................W.......................................................................................................W.............................................................................................W.........................................................................W.............................................................WWWWWW...Starting resharding...W...................................................W.............................................................................................W.....................................................................W...................................................W...................................................W..............................................................W.....................................................W.....................................................................W....................................................................................W..........................................................W.................................................W.................................................................W..................................................................W...................................................................W................................................................................................WWWWW...Starting resharding...W.............................................W........................................................................W.............................................................................................W.........................................................................W...............................................................................................W...............................................................W...........................................................................................................W................................................................................................W............................................................W......................................................................W......................................................................W.......................................W............................................................W.............................................................WWWWWW...Starting resharding...W.....................................................................................................................................W..................................................................................................W....................................................................................................W....................................................W.......................................................W.........................................................................W..................................................W......................................................W.............................................W...............................................W..............................................................W...........................................................W....................................W.............................................................W......................................................W....................WWWW...Starting resharding...W............................................................................................................W...........................................................................................W........................................................W...............................................................................................W..............................................................................W..................................................................................................W.............................................................................................W................................................................................................W....................................................................................................W...............................................................W..........................................................W...............................................................W...................WWWWWWWOK 08:26:15> Verify 50000 keys for consistency with logical content: OK 08:26:28> Crash and restart all the instances: OK 08:26:32> Cluster should eventually be up again: OK 08:26:34> Verify 50000 keys after the crash & restart: OK 08:26:47> Disable AOF in all the instances: OK 08:26:47> Verify slaves consistency: OK Testing unit: 05-slave-selection.tcl 08:26:50> (init) Restart killed instances: OK 08:26:50> Cluster nodes are reachable: OK 08:26:50> Cluster nodes hard reset: OK 08:26:50> Cluster Join and auto-discovery test: OK 08:26:54> Before slots allocation, all nodes report cluster failure: OK 08:26:54> Create a 5 nodes cluster: OK 08:26:57> Cluster is up: OK 08:26:57> The first master has actually two slaves: OK 08:26:57> Slaves of #0 are instance #5 and #10 as expected: OK 08:26:57> Instance #5 and #10 synced with the master: OK 08:26:58> Slaves are both able to receive and acknowledge writes: OK 08:26:58> Write data while slave #10 is paused and can't receive it: OK 08:27:08> Wait for instance #5 (and not #10) to turn into a master: OK 08:27:12> Wait for the node #10 to return alive before ending the test: OK 08:27:12> Cluster should eventually be up again: OK 08:27:12> Node #10 should eventually replicate node #5: OK 08:27:13> (init) Restart killed instances: redis/0 OK 08:27:13> Cluster nodes are reachable: OK 08:27:13> Cluster nodes hard reset: OK 08:27:13> Cluster Join and auto-discovery test: OK 08:27:17> Before slots allocation, all nodes report cluster failure: OK 08:27:17> Create a 3 nodes cluster: OK 08:27:21> Cluster is up: OK 08:27:21> The first master has actually 5 slaves: OK 08:27:21> Slaves of #0 are instance #3, #6, #9, #12 and #15 as expected: OK 08:27:21> Instance #3, #6, #9, #12 and #15 synced with the master: OK 08:27:21> New Master down consecutively: OK Testing unit: 06-slave-stop-cond.tcl 08:27:51> (init) Restart killed instances: redis/0 redis/3 redis/9 redis/12 redis/15 OK 08:27:51> Cluster nodes are reachable: OK 08:27:51> Cluster nodes hard reset: OK 08:27:52> Cluster Join and auto-discovery test: OK 08:27:56> Before slots allocation, all nodes report cluster failure: OK 08:27:56> Create a 5 nodes cluster: OK 08:27:59> Cluster is up: OK 08:27:59> The first master has actually one slave: OK 08:27:59> Slaves of #0 is instance #5 as expected: OK 08:27:59> Instance #5 synced with the master: OK 08:27:59> Lower the slave validity factor of #5 to the value of 2: OK 08:27:59> Break master-slave link and prevent further reconnections: OK 08:28:19> Slave #5 is reachable and alive: OK 08:28:19> Slave #5 should not be able to failover: OK 08:28:29> Cluster should be down: OK Testing unit: 07-replica-migration.tcl 08:28:29> (init) Restart killed instances: redis/0 OK 08:28:29> Cluster nodes are reachable: OK 08:28:29> Cluster nodes hard reset: OK 08:28:30> Cluster Join and auto-discovery test: OK 08:28:33> Before slots allocation, all nodes report cluster failure: OK 08:28:33> Create a 5 nodes cluster: OK 08:28:37> Cluster is up: OK 08:28:37> Each master should have two replicas attached: OK 08:28:37> Killing all the slaves of master #0 and #1: OK 08:28:41> Master #0 should have at least one replica: OK 08:28:46> Master #1 should have at least one replica: OK 08:28:46> Master #2 should have at least one replica: OK 08:28:46> Master #3 should have at least one replica: OK 08:28:46> Master #4 should have at least one replica: OK 08:28:46> (init) Restart killed instances: redis/5 redis/6 redis/10 redis/11 OK 08:28:46> Cluster nodes are reachable: OK 08:28:47> Cluster nodes hard reset: OK 08:28:47> Cluster Join and auto-discovery test: OK 08:28:52> Before slots allocation, all nodes report cluster failure: OK 08:28:52> Create a 5 nodes cluster: OK 08:28:56> Cluster is up: OK 08:28:56> Kill slave #7 of master #2. Only slave left is #12 now: OK 08:28:56> Killing master node #2, #12 should failover: OK 08:28:56> Wait for failover: OK 08:29:00> Cluster should eventually be up again: OK 08:29:00> Cluster is writable: OK 08:29:00> Instance 12 is now a master without slaves: OK 08:29:00> Master #12 should get at least one migrated replica: OK Testing unit: 08-update-msg.tcl 08:29:06> (init) Restart killed instances: redis/2 redis/7 OK 08:29:06> Cluster nodes are reachable: OK 08:29:06> Cluster nodes hard reset: OK 08:29:06> Cluster Join and auto-discovery test: OK 08:29:10> Before slots allocation, all nodes report cluster failure: OK 08:29:10> Create a 5 nodes cluster: OK 08:29:13> Cluster is up: OK 08:29:13> Cluster is writable: OK 08:29:14> Instance #5 is a slave: OK 08:29:14> Instance #5 synced with the master: OK 08:29:14> Killing one master node: OK 08:29:14> Wait for failover: OK 08:29:18> Cluster should eventually be up again: OK 08:29:18> Cluster is writable: OK 08:29:18> Instance #5 is now a master: OK 08:29:18> Killing the new master #5: OK 08:29:18> Cluster should be down now: OK 08:29:22> Restarting the old master node: OK 08:29:22> Instance #0 gets converted into a slave: OK 08:29:22> Restarting the new master node: OK 08:29:22> Cluster is up again: OK Testing unit: 09-pubsub.tcl 08:29:29> (init) Restart killed instances: OK 08:29:29> Cluster nodes are reachable: OK 08:29:29> Cluster nodes hard reset: OK 08:29:29> Cluster Join and auto-discovery test: OK 08:29:33> Before slots allocation, all nodes report cluster failure: OK 08:29:33> Create a 5 nodes cluster: OK 08:29:37> Test publishing to master: OK 08:29:37> Test publishing to slave: OK Testing unit: 10-manual-failover.tcl 08:29:37> (init) Restart killed instances: OK 08:29:37> Cluster nodes are reachable: OK 08:29:37> Cluster nodes hard reset: OK 08:29:37> Cluster Join and auto-discovery test: OK 08:29:41> Before slots allocation, all nodes report cluster failure: OK 08:29:41> Create a 5 nodes cluster: OK 08:29:45> Cluster is up: OK 08:29:45> Cluster is writable: OK 08:29:45> Instance #5 is a slave: OK 08:29:45> Instance #5 synced with the master: OK 08:29:46> Send CLUSTER FAILOVER to #5, during load: WWWWWWWWWWOK 08:29:50> Wait for failover: OK 08:29:50> Cluster should eventually be up again: OK 08:29:50> Cluster is writable: OK 08:29:50> Instance #5 is now a master: OK 08:29:50> Verify 50000 keys for consistency with logical content: OK 08:29:53> Instance #0 gets converted into a slave: OK 08:29:53> (init) Restart killed instances: OK 08:29:53> Cluster nodes are reachable: OK 08:29:53> Cluster nodes hard reset: OK 08:29:53> Cluster Join and auto-discovery test: OK 08:29:57> Before slots allocation, all nodes report cluster failure: OK 08:29:57> Create a 5 nodes cluster: OK 08:30:02> Cluster is up: OK 08:30:02> Cluster is writable: OK 08:30:02> Instance #5 is a slave: OK 08:30:02> Instance #5 synced with the master: OK 08:30:02> Make instance #0 unreachable without killing it: OK 08:30:02> Send CLUSTER FAILOVER to instance #5: OK 08:30:02> Instance #5 is still a slave after some time (no failover): OK 08:30:07> Wait for instance #0 to return back alive: OK 08:30:12> (init) Restart killed instances: OK 08:30:12> Cluster nodes are reachable: OK 08:30:12> Cluster nodes hard reset: OK 08:30:12> Cluster Join and auto-discovery test: OK 08:30:17> Before slots allocation, all nodes report cluster failure: OK 08:30:17> Create a 5 nodes cluster: OK 08:30:20> Cluster is up: OK 08:30:20> Cluster is writable: OK 08:30:20> Instance #5 is a slave: OK 08:30:20> Instance #5 synced with the master: OK 08:30:20> Make instance #0 unreachable without killing it: OK 08:30:20> Send CLUSTER FAILOVER to instance #5: OK 08:30:20> Instance #5 is a master after some time: OK 08:30:20> Wait for instance #0 to return back alive: OK Testing unit: 11-manual-takeover.tcl 08:30:30> (init) Restart killed instances: OK 08:30:30> Cluster nodes are reachable: OK 08:30:30> Cluster nodes hard reset: OK 08:30:30> Cluster Join and auto-discovery test: OK 08:30:34> Before slots allocation, all nodes report cluster failure: OK 08:30:34> Create a 5 nodes cluster: OK 08:30:38> Cluster is up: OK 08:30:38> Cluster is writable: OK 08:30:38> Killing majority of master nodes: OK 08:30:39> Cluster should eventually be down: OK 08:30:42> Use takeover to bring slaves back: OK 08:30:42> Cluster should eventually be up again: OK 08:30:45> Cluster is writable: OK 08:30:45> Instance #5, #6, #7 are now masters: OK 08:30:45> Restarting the previously killed master nodes: OK 08:30:46> Instance #0, #1, #2 gets converted into a slaves: OK Testing unit: 12-replica-migration-2.tcl 08:30:46> (init) Restart killed instances: OK 08:30:46> Cluster nodes are reachable: OK 08:30:46> Cluster nodes hard reset: OK 08:30:47> Cluster Join and auto-discovery test: OK 08:30:50> Before slots allocation, all nodes report cluster failure: OK 08:30:50> Create a 5 nodes cluster: OK 08:30:54> Cluster is up: OK 08:30:55> Each master should have at least two replicas attached: OK 08:30:55> Resharding all the master #0 slots away from it: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.00 Moving 871 slots from 127.0.0.1:30000 to 127.0.0.1:30003 ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 863 slots from 127.0.0.1:30000 to 127.0.0.1:30004 ############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### Moving 744 slots from 127.0.0.1:30000 to 127.0.0.1:30001 ######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################## Moving 742 slots from 127.0.0.1:30000 to 127.0.0.1:30002 ###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### OK 08:33:12> Master #0 should lose its replicas: OK 08:33:13> Resharding back some slot to master #0: >>> Performing Cluster Check (using node 127.0.0.1:30000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 5 nodes. Total weight = 4.01 Moving 11 slots from 127.0.0.1:30003 to 127.0.0.1:30000 ########### Moving 11 slots from 127.0.0.1:30001 to 127.0.0.1:30000 ########### Moving 11 slots from 127.0.0.1:30004 to 127.0.0.1:30000 ########### Moving 11 slots from 127.0.0.1:30002 to 127.0.0.1:30000 ########### OK 08:33:25> Master #0 should re-acquire one or more replicas: OK Testing unit: 13-no-failover-option.tcl 08:33:30> (init) Restart killed instances: OK 08:33:30> Cluster nodes are reachable: OK 08:33:30> Cluster nodes hard reset: OK 08:33:30> Cluster Join and auto-discovery test: OK 08:33:34> Before slots allocation, all nodes report cluster failure: OK 08:33:34> Create a 5 nodes cluster: OK 08:33:38> Cluster is up: OK 08:33:38> Cluster is writable: OK 08:33:38> Instance #5 is a slave: OK 08:33:38> Instance #5 synced with the master: OK 08:33:38> The nofailover flag is propagated: OK 08:33:40> Killing one master node: OK 08:33:40> Cluster should be still down after some time: OK 08:33:50> Instance #5 is still a slave: OK 08:33:50> Restarting the previously killed master node: OK Testing unit: 16-transactions-on-replica.tcl 08:33:50> (init) Restart killed instances: OK 08:33:50> Cluster nodes are reachable: OK 08:33:50> Cluster nodes hard reset: OK 08:33:50> Cluster Join and auto-discovery test: OK 08:33:54> Before slots allocation, all nodes report cluster failure: OK 08:33:54> Create a primary with a replica: OK 08:33:59> Cluster should start ok: OK 08:33:59> Cant read from replica without READONLY: OK 08:33:59> Can read from replica after READONLY: OK 08:33:59> Can preform HSET primary and HGET from replica: OK 08:33:59> MULTI-EXEC with write operations is MOVED: OK 08:33:59> read-only blocking operations from replica: OK Cleaning up... GOOD! No errors. ./runtest-sentinel || true Starting sentinel #0 at port 20000 Starting sentinel #1 at port 20001 Starting sentinel #2 at port 20002 Starting sentinel #3 at port 20003 Starting sentinel #4 at port 20004 Starting redis #0 at port 30000 Starting redis #1 at port 30001 Starting redis #2 at port 30002 Starting redis #3 at port 30003 Starting redis #4 at port 30004 Testing unit: 00-base.tcl 08:34:00> (init) Restart killed instances: OK 08:34:00> (init) Remove old master entry from sentinels: OK 08:34:00> (init) Create a master-slaves cluster of 5 instances: OK 08:34:01> (init) Sentinels can start monitoring a master: OK 08:34:01> (init) Sentinels can talk with the master: OK 08:34:01> (init) Sentinels are able to auto-discover other sentinels: OK 08:34:03> (init) Sentinels are able to auto-discover slaves: OK 08:34:03> Basic failover works if the master is down: OK 08:34:06> New master 127.0.0.1:30004 role matches: OK 08:34:06> All the other slaves now point to the new master: OK 08:34:06> The old master eventually gets reconfigured as a slave: OK 08:34:17> ODOWN is not possible without N (quorum) Sentinels reports: OK 08:34:17> Failover is not possible without majority agreement: OK 08:34:18> Failover works if we configure for absolute agreement: OK 08:34:22> New master 127.0.0.1:30002 role matches: OK Testing unit: 01-conf-update.tcl 08:34:22> (init) Restart killed instances: OK 08:34:22> (init) Remove old master entry from sentinels: OK 08:34:22> (init) Create a master-slaves cluster of 5 instances: OK 08:34:23> (init) Sentinels can start monitoring a master: OK 08:34:23> (init) Sentinels can talk with the master: OK 08:34:23> (init) Sentinels are able to auto-discover other sentinels: OK 08:34:25> (init) Sentinels are able to auto-discover slaves: OK 08:34:25> We can failover with Sentinel 1 crashed: OK 08:34:29> After Sentinel 1 is restarted, its config gets updated: OK 08:34:29> New master 127.0.0.1:30002 role matches: OK Testing unit: 02-slaves-reconf.tcl 08:34:29> (init) Restart killed instances: OK 08:34:29> (init) Remove old master entry from sentinels: OK 08:34:29> (init) Create a master-slaves cluster of 5 instances: OK 08:34:30> (init) Sentinels can start monitoring a master: OK 08:34:30> (init) Sentinels can talk with the master: OK 08:34:30> (init) Sentinels are able to auto-discover other sentinels: OK 08:34:32> (init) Sentinels are able to auto-discover slaves: OK 08:34:32> Check that slaves replicate from current master: OK 08:34:32> Crash the master and force a failover: OK 08:34:35> Check that slaves replicate from current master: OK 08:34:36> Kill a slave instance: OK 08:34:36> Crash the master and force a failover: OK 08:35:18> Check that slaves replicate from current master: OK 08:35:29> Wait for failover to end: OK 08:35:29> Restart killed slave and test replication of slaves again...: OK 08:35:29> Check that slaves replicate from current master: OK Testing unit: 03-runtime-reconf.tcl Testing unit: 04-slave-selection.tcl Testing unit: 05-manual.tcl 08:35:50> (init) Restart killed instances: OK 08:35:50> (init) Remove old master entry from sentinels: OK 08:35:50> (init) Create a master-slaves cluster of 5 instances: OK 08:35:51> (init) Sentinels can start monitoring a master: OK 08:35:51> (init) Sentinels can talk with the master: OK 08:35:51> (init) Sentinels are able to auto-discover other sentinels: OK 08:35:53> (init) Sentinels are able to auto-discover slaves: OK 08:35:53> Manual failover works: OK 08:35:54> New master 127.0.0.1:30001 role matches: OK 08:35:54> All the other slaves now point to the new master: OK 08:35:54> The old master eventually gets reconfigured as a slave: OK Testing unit: 06-ckquorum.tcl 08:36:05> (init) Restart killed instances: OK 08:36:05> (init) Remove old master entry from sentinels: OK 08:36:05> (init) Create a master-slaves cluster of 5 instances: OK 08:36:06> (init) Sentinels can start monitoring a master: OK 08:36:06> (init) Sentinels can talk with the master: OK 08:36:06> (init) Sentinels are able to auto-discover other sentinels: OK 08:36:08> (init) Sentinels are able to auto-discover slaves: OK 08:36:08> CKQUORUM reports OK and the right amount of Sentinels: OK 08:36:08> CKQUORUM detects quorum cannot be reached: OK 08:36:08> CKQUORUM detects failover authorization cannot be reached: OK Testing unit: 07-down-conditions.tcl 08:36:13> (init) Restart killed instances: OK 08:36:13> (init) Remove old master entry from sentinels: OK 08:36:13> (init) Create a master-slaves cluster of 5 instances: OK 08:36:13> (init) Sentinels can start monitoring a master: OK 08:36:13> (init) Sentinels can talk with the master: OK 08:36:13> (init) Sentinels are able to auto-discover other sentinels: OK 08:36:15> (init) Sentinels are able to auto-discover slaves: OK 08:36:15> Crash the majority of Sentinels to prevent failovers for this unit: OK 08:36:15> SDOWN is triggered by non-responding but not crashed instance: OK 08:36:25> SDOWN is triggered by crashed instance: OK 08:36:28> SDOWN is triggered by masters advertising as slaves: OK 08:37:06> SDOWN is triggered by misconfigured instance repling with errors: OK 08:37:08> SDOWN is triggered if we rename PING to PONG: OK Cleaning up... GOOD! No errors. make[1]: Leaving directory '/build/redis-5.0.14' create-stamp debian/debhelper-build-stamp fakeroot debian/rules binary dh binary dh_testroot dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/build/redis-5.0.14' debian/bin/generate-systemd-service-files make[1]: Leaving directory '/build/redis-5.0.14' dh_install dh_installdocs debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/redis-5.0.14' dh_installchangelogs --keep 00-RELEASENOTES make[1]: Leaving directory '/build/redis-5.0.14' dh_installexamples dh_installman dh_installinit dh_installsystemd dh_installlogrotate dh_perl dh_link dh_strip_nondeterminism debian/rules override_dh_compress make[1]: Entering directory '/build/redis-5.0.14' dh_compress -Xredis-trib.rb make[1]: Leaving directory '/build/redis-5.0.14' dh_fixperms dh_missing dh_dwz dh_strip dh_makeshlibs dh_shlibdeps dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-cli were not linked against libatomic.so.1 (they use none of the library's symbols) dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/redis-tools/usr/bin/redis-check-rdb debian/redis-tools/usr/bin/redis-check-aof debian/redis-tools/usr/bin/redis-benchmark debian/redis-tools/usr/bin/redis-cli were not linked against librt.so.1 (they use none of the library's symbols) dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'redis' in '../redis_5.0.14-1+deb10u2_all.deb'. dpkg-deb: building package 'redis-tools-dbgsym' in '../redis-tools-dbgsym_5.0.14-1+deb10u2_i386.deb'. dpkg-deb: building package 'redis-tools' in '../redis-tools_5.0.14-1+deb10u2_i386.deb'. dpkg-deb: building package 'redis-sentinel' in '../redis-sentinel_5.0.14-1+deb10u2_i386.deb'. dpkg-deb: building package 'redis-server' in '../redis-server_5.0.14-1+deb10u2_i386.deb'. dpkg-genbuildinfo --build=binary dpkg-genchanges --build=binary >../redis_5.0.14-1+deb10u2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-source: info: using options from redis-5.0.14/debian/source/options: --extend-diff-ignore=^\.travis\.yml$ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/2597/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/2597/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2597 and its subdirectories I: Current time: Mon Mar 28 08:37:32 +14 2022 I: pbuilder-time-stamp: 1648406252