Diff of the two buildlogs: -- --- b1/build.log 2023-05-12 12:36:14.147329143 +0000 +++ b2/build.log 2023-05-12 12:37:26.456159785 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 12 00:33:48 -12 2023 -I: pbuilder-time-stamp: 1683894828 +I: Current time: Fri Jun 14 08:59:17 +14 2024 +I: pbuilder-time-stamp: 1718305157 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz] I: copying local configuration @@ -16,7 +16,7 @@ I: copying [./ruby-seamless-database-pool_1.0.20.orig.tar.gz] I: copying [./ruby-seamless-database-pool_1.0.20-4.debian.tar.xz] I: Extracting source -gpgv: Signature made Mon Jan 2 21:13:43 2023 -12 +gpgv: Signature made Tue Jan 3 23:13:43 2023 +14 gpgv: using RSA key 0B29D88E42E6B765B8D8EA507839619DD439668E gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ruby-seamless-database-pool_1.0.20-4.dsc: no acceptable signature found @@ -30,52 +30,84 @@ dpkg-source: info: applying 0004-fix-FTBFS-with-ruby-rspec-3.12.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/28230/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/18119/tmp/hooks/D01_modify_environment starting +debug: Running on codethink13-arm64. +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 +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Jun 14 08:59 /bin/sh -> /bin/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/18119/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/18119/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="15" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.15(1)-release' + BUILDDIR=/build + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=8' - DISTRIBUTION='bookworm' - HOME='/var/lib/jenkins' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=bookworm + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/var/lib/jenkins + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='28230' - PS1='# ' - PS2='> ' + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-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=18119 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.uZfvtpWJ/pbuilderrc_hpab --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.uZfvtpWJ/b1 --logfile b1/build.log ruby-seamless-database-pool_1.0.20-4.dsc' - SUDO_GID='117' - SUDO_UID='110' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - USERNAME='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.16:3128' + 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/r-b-build.uZfvtpWJ/pbuilderrc_ynPe --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.uZfvtpWJ/b2 --logfile b2/build.log --extrapackages usrmerge ruby-seamless-database-pool_1.0.20-4.dsc' + SUDO_GID=117 + SUDO_UID=110 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + USERNAME=root + _='I: set' + http_proxy=http://192.168.101.16:3128 I: uname -a - Linux codethink12-arm64 4.15.0-210-generic #221-Ubuntu SMP Tue Apr 18 08:32:48 UTC 2023 aarch64 GNU/Linux + Linux i-capture-the-hostname 4.15.0-210-generic #221-Ubuntu SMP Tue Apr 18 08:32:48 UTC 2023 aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 11 22:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/28230/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Jun 13 06:48 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/18119/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -257,7 +289,7 @@ Get: 136 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec-expectations all 3.12.0c0e1m1s0-1 [89.5 kB] Get: 137 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec-mocks all 3.12.0c0e1m1s0-1 [79.5 kB] Get: 138 http://deb.debian.org/debian bookworm/main arm64 ruby-rspec all 3.12.0c0e1m1s0-1 [5084 B] -Fetched 46.6 MB in 2s (21.9 MB/s) +Fetched 46.6 MB in 1s (31.3 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:arm64. (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 ... 19616 files and directories currently installed.) @@ -832,8 +864,17 @@ Writing extended state information... Building tag database... -> Finished parsing the build-deps +Reading package lists... +Building dependency tree... +Reading state information... +usrmerge is already the newest version (35). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/ruby-seamless-database-pool-1.0.20/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ruby-seamless-database-pool_1.0.20-4_source.changes +I: user script /srv/workspace/pbuilder/18119/tmp/hooks/A99_set_merged_usr starting +Re-configuring usrmerge... +I: user script /srv/workspace/pbuilder/18119/tmp/hooks/A99_set_merged_usr finished +hostname: Temporary failure in name resolution +I: Running cd /build/ruby-seamless-database-pool-1.0.20/ && 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 > ../ruby-seamless-database-pool_1.0.20-4_source.changes dpkg-buildpackage: info: source package ruby-seamless-database-pool dpkg-buildpackage: info: source version 1.0.20-4 dpkg-buildpackage: info: source distribution unstable @@ -861,7 +902,7 @@ dh_prep -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-seamless-database-pool/ -O--buildsystem=ruby dh_ruby --install /build/ruby-seamless-database-pool-1.0.20/debian/ruby-seamless-database-pool -/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230512-5764-9aimuu/gemspec +/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20240614-7689-jt7ta/gemspec Failed to load /dev/null because it doesn't contain valid YAML hash WARNING: open-ended dependency on activerecord (>= 3.2.0) is not recommended if activerecord is semantically versioned, use: @@ -880,7 +921,7 @@ Name: seamless_database_pool Version: 1.0.20 File: seamless_database_pool-1.0.20.gem -/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-seamless-database-pool/usr/share/rubygems-integration/all /tmp/d20230512-5764-9aimuu/seamless_database_pool-1.0.20.gem +/usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-seamless-database-pool/usr/share/rubygems-integration/all /tmp/d20240614-7689-jt7ta/seamless_database_pool-1.0.20.gem Failed to load /dev/null because it doesn't contain valid YAML hash /build/ruby-seamless-database-pool-1.0.20/debian/ruby-seamless-database-pool/usr/share/rubygems-integration/all/gems/seamless_database_pool-1.0.20/VERSION /build/ruby-seamless-database-pool-1.0.20/debian/ruby-seamless-database-pool/usr/share/rubygems-integration/all/gems/seamless_database_pool-1.0.20/lib/active_record/connection_adapters/seamless_database_pool_adapter.rb @@ -925,93 +966,93 @@ All examples were filtered out; ignoring {:focus=>true} -Randomized with seed 7866 +Randomized with seed 25263 + +SeamlessDatabasePool::ConnectionStatistics + should be able to clear the statistics + should increment statistics on insert + should increment statistics on select + should increment statistics on execute + should increment counts only once within a block + should increment statistics on update + +SeamlessDatabasePool + should use the master connection by default + should be able to specify a default read connection type instead of :master + should pull out the master configurations for compatibility with rake db:* tasks + should be able to use connection blocks within connection blocks + should be able to set using the master connection + should be able to set using persistent read connections + should be able to set using random read connections + should be able to change the persistent connection + should be able to use the master connection within a block + should use the master connection if the connection is forcing it + should be able to use persistent read connections within a block + should be able to use random read connections within a block + +SeamlessDatabasePool::ControllerFilter + should work with a Rails 2 controller + should allow setting a connection type for actions + should allow setting a connection type for all actions + should allow setting a connection type for a single action + should be able to force using the master connection on the next request + should work with nothing set + should force the master connection on the next request for a redirect in master connection block + should not force the master connection on the next request for a redirect not in master connection block + should inherit the superclass' options + should not break trying to force the master connection if sessions are not enabled + +SeamlessDatabasePoolAdapter ActiveRecord::Base extension + should raise an error if the adapter would be recursive + should establish the connections in the pool merging global options into the connection options SeamlessDatabasePoolAdapter should be able to be converted to a string + master connection methods + should proxy insert method to the master connection + should proxy columns method to the master connection + should proxy update method to the master connection + read connection methods + should proxy execute methods to a read connection + should proxy select_rows methods to a read connection + should proxy select methods to a read connection reconnection - should try to execute a read statement again after a connection error - should not try to reconnect a connection during a retry - should try all connections again if none of them can be reconnected - should not try to execute a read statement again after a non-connection error + should not return a connection to the pool until it can be reconnected should try to reconnect dead connections when they become available again - should not try to suppress a read connection that wasn't available in the read pool should use a different connection on a retry if the original connection could not be reconnected - should return dead connections to the pool after the timeout has expired - should proxy requests to a connection - should not return a connection to the pool until it can be reconnected - should not try to reconnect live connections + should try all connections again if none of them can be reconnected + should not try to suppress a read connection that wasn't available in the read pool + should not try to reconnect a connection during a retry should keep track of read connections that can't be reconnected for a set period + should proxy requests to a connection should not try to execute a read statement again after a connection error if the master connection must be used - read connection methods - should proxy select_rows methods to a read connection - should proxy execute methods to a read connection - should proxy select methods to a read connection + should try to execute a read statement again after a connection error + should not try to execute a read statement again after a non-connection error + should not try to reconnect live connections + should return dead connections to the pool after the timeout has expired selecting a connection from the pool - should initialize the connection pool should use the master connection inside a transaction - should select the master connection if the read pool is empty should select a random read connection - should use the master connection in a block + should select the master connection if the read pool is empty + should initialize the connection pool should return the current read connection - master connection methods - should proxy insert method to the master connection - should proxy update method to the master connection - should proxy columns method to the master connection + should use the master connection in a block fork to all connections should fork reset_runtime to all connections should fork reconnect! to all connections should fork disconnect! to all connections + when read-only connection type is master + should fork verify! to master connection only + should fork active? to master connection only When read-only connection type is persistent or random should fork verify! to all connections should fork active? to all connections and return false if one is down should fork active? to all connections and return true if all are up - when read-only connection type is master - should fork verify! to master connection only - should fork active? to master connection only - -SeamlessDatabasePool::ControllerFilter - should allow setting a connection type for actions - should not break trying to force the master connection if sessions are not enabled - should be able to force using the master connection on the next request - should force the master connection on the next request for a redirect in master connection block - should inherit the superclass' options - should allow setting a connection type for all actions - should allow setting a connection type for a single action - should work with nothing set - should not force the master connection on the next request for a redirect not in master connection block - should work with a Rails 2 controller - -SeamlessDatabasePool - should be able to specify a default read connection type instead of :master - should be able to use connection blocks within connection blocks - should be able to set using random read connections - should be able to use persistent read connections within a block - should be able to use the master connection within a block - should be able to set using the master connection - should be able to use random read connections within a block - should be able to set using persistent read connections - should use the master connection if the connection is forcing it - should be able to change the persistent connection - should use the master connection by default - should pull out the master configurations for compatibility with rake db:* tasks - -SeamlessDatabasePool::ConnectionStatistics - should increment statistics on select - should be able to clear the statistics - should increment statistics on execute - should increment statistics on insert - should increment counts only once within a block - should increment statistics on update - -SeamlessDatabasePoolAdapter ActiveRecord::Base extension - should raise an error if the adapter would be recursive - should establish the connections in the pool merging global options into the connection options -Finished in 1.08 seconds (files took 4.14 seconds to load) +Finished in 0.92851 seconds (files took 2.1 seconds to load) 64 examples, 0 failures -Randomized with seed 7866 +Randomized with seed 25263 ┌──────────────────────────────────────────────────────────────────────────────┐ @@ -1045,12 +1086,14 @@ 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/18119/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/18119/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/28230 and its subdirectories -I: Current time: Fri May 12 00:36:12 -12 2023 -I: pbuilder-time-stamp: 1683894972 +I: removing directory /srv/workspace/pbuilder/18119 and its subdirectories +I: Current time: Fri Jun 14 09:00:25 +14 2024 +I: pbuilder-time-stamp: 1718305225