Diff of the two buildlogs: -- --- b1/build.log 2025-04-12 19:49:53.102146939 +0000 +++ b2/build.log 2025-04-12 20:03:32.436066450 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Fri May 15 14:08:12 -12 2026 -I: pbuilder-time-stamp: 1778897292 +I: Current time: Sun Apr 13 09:49:55 +14 2025 +I: pbuilder-time-stamp: 1744487395 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -22,51 +22,83 @@ dpkg-source: info: unpacking golang-github-apptainer-container-library-client_1.4.10-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/696979/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/D01_modify_environment starting +debug: Running on infom01-amd64. +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 Apr 12 19:50 /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/2975467/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - 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]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='7b6ebd74cf70464db509c4496822d4ed' - 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='696979' - PS1='# ' - PS2='> ' + INVOCATION_ID=3af30ccedaf24d8f95a92daa9c11e354 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-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=2975467 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.oheNqtC1/pbuilderrc_5slC --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.oheNqtC1/b1 --logfile b1/build.log golang-github-apptainer-container-library-client_1.4.10-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' + 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.oheNqtC1/pbuilderrc_NNcT --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.oheNqtC1/b2 --logfile b2/build.log golang-github-apptainer-container-library-client_1.4.10-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' I: uname -a - Linux infom02-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-32-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Mar 4 2025 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/696979/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -577,7 +609,7 @@ Get: 451 http://deb.debian.org/debian unstable/main amd64 golang-github-mitchellh-go-homedir-dev all 1.1.0-1 [5168 B] Get: 452 http://deb.debian.org/debian unstable/main amd64 golang-github-google-go-containerregistry-dev all 0.20.1+ds1-1 [214 kB] Get: 453 http://deb.debian.org/debian unstable/main amd64 golang-github-sylabs-json-resp-dev all 0.6.0-3 [5452 B] -Fetched 195 MB in 3s (65.5 MB/s) +Fetched 195 MB in 3s (62.0 MB/s) Preconfiguring packages ... Selecting previously unselected package golang-golang-x-sys-dev. (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 ... 19840 files and directories currently installed.) @@ -2032,8 +2064,8 @@ Setting up tzdata (2025b-2) ... Current default time zone: 'Etc/UTC' -Local time is now: Sat May 16 02:12:07 UTC 2026. -Universal Time is now: Sat May 16 02:12:07 UTC 2026. +Local time is now: Sat Apr 12 19:59:18 UTC 2025. +Universal Time is now: Sat Apr 12 19:59:18 UTC 2025. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up golang-github-coreos-go-semver-dev (0.3.0-1) ... @@ -2410,7 +2442,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/golang-github-apptainer-container-library-client-1.4.10/ && 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 > ../golang-github-apptainer-container-library-client_1.4.10-1_source.changes +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/golang-github-apptainer-container-library-client-1.4.10/ && 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 > ../golang-github-apptainer-container-library-client_1.4.10-1_source.changes dpkg-buildpackage: info: source package golang-github-apptainer-container-library-client dpkg-buildpackage: info: source version 1.4.10-1 dpkg-buildpackage: info: source distribution unstable @@ -2429,184 +2465,184 @@ dh_auto_configure -O--builddirectory=_build -O--buildsystem=golang dh_auto_build -O--builddirectory=_build -O--buildsystem=golang cd _build && go install -trimpath -v -p 12 github.com/apptainer/container-library-client/client -internal/byteorder -internal/coverage/rtcov -internal/goarch -internal/godebugs +internal/msan +internal/goexperiment +internal/goos internal/profilerecord internal/unsafeheader +internal/byteorder +internal/goarch +internal/coverage/rtcov internal/asan -internal/goexperiment -internal/msan -internal/goos -internal/cpu -internal/runtime/syscall -internal/runtime/atomic -sync/atomic -unicode/utf8 +internal/godebugs math/bits -unicode internal/runtime/math -internal/abi -internal/chacha8rand +unicode/utf8 internal/itoa -internal/runtime/sys cmp crypto/internal/fips140/alias crypto/internal/fips140deps/byteorder -crypto/internal/boring/sig +unicode encoding -crypto/internal/fips140/subtle unicode/utf16 github.com/google/go-containerregistry/pkg/v1/types internal/nettrace -internal/runtime/exithook github.com/go-log/log -internal/bytealg -crypto/internal/fips140deps/cpu -math container/list vendor/golang.org/x/crypto/cryptobyte/asn1 +sync/atomic +internal/cpu +internal/runtime/atomic +internal/runtime/syscall +internal/abi +crypto/internal/fips140/subtle +crypto/internal/boring/sig +internal/chacha8rand +internal/runtime/sys vendor/golang.org/x/crypto/internal/alias log/internal +internal/runtime/exithook +internal/bytealg +crypto/internal/fips140deps/cpu +math internal/stringslite internal/race internal/sync internal/runtime/maps runtime -internal/reflectlite +iter +crypto/subtle sync weak -crypto/subtle -iter +internal/reflectlite slices maps errors sort -internal/oserror -path -vendor/golang.org/x/net/dns/dnsmessage -math/rand/v2 -strconv internal/bisect +unique internal/testlog internal/singleflight -unique +internal/oserror io +path +math/rand/v2 +vendor/golang.org/x/net/dns/dnsmessage +strconv syscall -runtime/cgo internal/godebug hash -bytes crypto/internal/randutil +bytes strings -net/netip -reflect hash/crc32 -crypto +runtime/cgo crypto/internal/fips140deps/godebug math/rand -vendor/golang.org/x/text/transform crypto/internal/impl crypto/internal/fips140 -bufio -regexp/syntax net/http/internal/ascii -crypto/internal/fips140/sha256 -crypto/internal/fips140/sha512 +crypto +regexp/syntax +net/netip +reflect +bufio crypto/internal/fips140/sha3 +crypto/internal/fips140/sha256 crypto/tls/internal/fips140tls -internal/syscall/unix +crypto/internal/fips140/sha512 +vendor/golang.org/x/text/transform internal/syscall/execenv +internal/syscall/unix +regexp time +internal/fmtsort +io/fs crypto/internal/fips140/hmac +context +internal/poll +internal/filepathlite crypto/sha3 +encoding/binary crypto/internal/fips140/check crypto/internal/fips140hash -crypto/internal/fips140/aes -crypto/internal/fips140/nistec/fiat -crypto/internal/fips140/edwards25519/field -crypto/internal/fips140/bigmod crypto/internal/fips140/hkdf +crypto/internal/fips140/edwards25519/field crypto/internal/fips140/tls12 -crypto/internal/fips140/tls13 -regexp -crypto/internal/fips140/edwards25519 -context -io/fs -internal/poll -internal/filepathlite +crypto/internal/fips140/bigmod +crypto/internal/fips140/aes os -crypto/internal/fips140/nistec -internal/fmtsort -encoding/binary -encoding/base64 +crypto/internal/fips140/nistec/fiat vendor/golang.org/x/crypto/internal/poly1305 +encoding/base64 +crypto/internal/fips140/tls13 +encoding/pem +crypto/internal/fips140/edwards25519 crypto/internal/sysrand -fmt -vendor/golang.org/x/sys/cpu path/filepath -net -encoding/pem +vendor/golang.org/x/sys/cpu +fmt crypto/internal/entropy +crypto/internal/fips140/nistec crypto/internal/fips140/drbg -crypto/internal/fips140/aes/gcm crypto/internal/fips140only -crypto/internal/fips140/mlkem crypto/internal/fips140/ed25519 crypto/internal/fips140/rsa -crypto/rc4 -crypto/md5 -crypto/internal/fips140/ecdh -crypto/internal/fips140/ecdsa -crypto/cipher -crypto/internal/boring -crypto/des -vendor/golang.org/x/crypto/chacha20 +crypto/internal/fips140/aes/gcm encoding/hex github.com/opencontainers/go-digest +crypto/internal/fips140/mlkem +crypto/md5 +database/sql/driver encoding/json github.com/opencontainers/image-spec/specs-go -compress/flate +crypto/rc4 math/big -database/sql/driver -net/url -crypto/sha256 -crypto/sha1 -crypto/aes -crypto/ecdh -crypto/sha512 -crypto/hmac -vendor/golang.org/x/crypto/chacha20poly1305 github.com/opencontainers/image-spec/specs-go/v1 +compress/flate +net/url +crypto/cipher log -vendor/golang.org/x/text/unicode/norm vendor/golang.org/x/net/http2/hpack mime mime/quotedprintable +vendor/golang.org/x/text/unicode/norm net/http/internal -vendor/golang.org/x/text/unicode/bidi +crypto/internal/fips140/ecdh +crypto/internal/boring +crypto/des compress/gzip +vendor/golang.org/x/text/unicode/bidi +crypto/internal/fips140/ecdsa +crypto/sha256 +crypto/aes +crypto/ecdh +crypto/sha1 +crypto/sha512 +crypto/hmac +vendor/golang.org/x/crypto/chacha20 golang.org/x/sync/errgroup +github.com/blang/semver/v4 +github.com/google/go-containerregistry/pkg/v1 vendor/golang.org/x/text/secure/bidirule +vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/net/idna -github.com/google/go-containerregistry/pkg/v1 -github.com/blang/semver/v4 -crypto/elliptic crypto/internal/boring/bbig crypto/rand -encoding/asn1 +crypto/elliptic crypto/dsa +encoding/asn1 crypto/ed25519 -crypto/internal/hpke crypto/rsa -vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix +vendor/golang.org/x/crypto/cryptobyte +crypto/internal/hpke crypto/ecdsa +net vendor/golang.org/x/net/http/httpproxy +github.com/google/uuid net/textproto crypto/x509 -github.com/google/uuid vendor/golang.org/x/net/http/httpguts mime/multipart github.com/apptainer/sif/pkg/sif @@ -2757,20 +2793,20 @@ === PAUSE TestMultistreamDownloader/ManyStreamsWithoutSize === CONT TestMultistreamDownloader/Basic === CONT TestMultistreamDownloader/SingleStreamWithoutSize +2025/04/13 10:02:52 size: 30, parts: 10, streams: 10, partsize: 3 === CONT TestMultistreamDownloader/SingleStream -2026/05/15 14:12:43 size: 30, parts: 10, streams: 10, partsize: 3 -2026/05/15 14:12:43 size: 30, parts: 30, streams: 1, partsize: 1 -=== CONT TestMultistreamDownloader/ManyStreamsWithoutSize -=== CONT TestMultistreamDownloader/ManyStreams -2026/05/15 14:12:43 size: 30, parts: 30, streams: 30, partsize: 1 +2025/04/13 10:02:52 size: 30, parts: 30, streams: 1, partsize: 1 === CONT TestMultistreamDownloader/WithoutSize +=== CONT TestMultistreamDownloader/ManyStreams +2025/04/13 10:02:52 size: 30, parts: 30, streams: 30, partsize: 1 +=== CONT TestMultistreamDownloader/ManyStreamsWithoutSize --- PASS: TestMultistreamDownloader (0.00s) - --- PASS: TestMultistreamDownloader/ManyStreamsWithoutSize (0.00s) + --- PASS: TestMultistreamDownloader/SingleStreamWithoutSize (0.00s) --- PASS: TestMultistreamDownloader/WithoutSize (0.00s) - --- PASS: TestMultistreamDownloader/SingleStreamWithoutSize (0.01s) + --- PASS: TestMultistreamDownloader/ManyStreamsWithoutSize (0.00s) --- PASS: TestMultistreamDownloader/Basic (0.01s) - --- PASS: TestMultistreamDownloader/ManyStreams (0.02s) - --- PASS: TestMultistreamDownloader/SingleStream (0.02s) + --- PASS: TestMultistreamDownloader/SingleStream (0.01s) + --- PASS: TestMultistreamDownloader/ManyStreams (0.05s) === RUN TestOciRegistryAuth === RUN TestOciRegistryAuth/Basic === PAUSE TestOciRegistryAuth/Basic @@ -2781,12 +2817,12 @@ === RUN TestOciRegistryAuth/NotSupported === PAUSE TestOciRegistryAuth/NotSupported === CONT TestOciRegistryAuth/Basic -=== CONT TestOciRegistryAuth/NotSupported === CONT TestOciRegistryAuth/ShortName +=== CONT TestOciRegistryAuth/NotSupported === CONT TestOciRegistryAuth/TwoElements --- PASS: TestOciRegistryAuth (0.00s) - --- PASS: TestOciRegistryAuth/NotSupported (0.00s) --- PASS: TestOciRegistryAuth/Basic (0.00s) + --- PASS: TestOciRegistryAuth/NotSupported (0.00s) --- PASS: TestOciRegistryAuth/ShortName (0.00s) --- PASS: TestOciRegistryAuth/TwoElements (0.00s) === RUN Test_DownloadImage @@ -2794,7 +2830,7 @@ === RUN Test_DownloadImage/Server_error === RUN Test_DownloadImage/Tags_in_path === RUN Test_DownloadImage/Good_Download ---- PASS: Test_DownloadImage (0.00s) +--- PASS: Test_DownloadImage (0.02s) --- PASS: Test_DownloadImage/Bad_library_ref (0.00s) --- PASS: Test_DownloadImage/Server_error (0.00s) --- PASS: Test_DownloadImage/Tags_in_path (0.00s) @@ -2805,22 +2841,22 @@ === PAUSE TestParseContentLengthHeader === RUN TestLegacyDownloadImage === RUN TestLegacyDownloadImage/SingleStream -2026/05/15 14:12:43 Generated 912109 bytes of mock image data -2026/05/15 14:12:43 This library does not support architecture specific tags -2026/05/15 14:12:43 The image returned may not be the requested architecture -2026/05/15 14:12:43 Pulling from URL: v1/imagefile/entity/collection/container:tag -2026/05/15 14:12:43 Library endpoint does not support concurrent downloads; reverting to single stream -2026/05/15 14:12:43 Downloaded 912109 byte(s) +2025/04/13 10:02:52 Generated 1782 bytes of mock image data +2025/04/13 10:02:52 This library does not support architecture specific tags +2025/04/13 10:02:52 The image returned may not be the requested architecture +2025/04/13 10:02:52 Pulling from URL: v1/imagefile/entity/collection/container:tag +2025/04/13 10:02:52 Library endpoint does not support concurrent downloads; reverting to single stream +2025/04/13 10:02:52 Downloaded 1782 byte(s) === RUN TestLegacyDownloadImage/MultiStream -2026/05/15 14:12:43 Generated 1038502 bytes of mock image data -2026/05/15 14:12:43 This library does not support architecture specific tags -2026/05/15 14:12:43 The image returned may not be the requested architecture -2026/05/15 14:12:43 Pulling from URL: v1/imagefile/entity/collection/container:tag -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:tag?arch=amd64 -2026/05/15 14:12:43 size: 1038502, parts: 16, streams: 4, partsize: 65536 ---- PASS: TestLegacyDownloadImage (0.02s) - --- PASS: TestLegacyDownloadImage/SingleStream (0.01s) - --- PASS: TestLegacyDownloadImage/MultiStream (0.02s) +2025/04/13 10:02:52 Generated 116135 bytes of mock image data +2025/04/13 10:02:52 This library does not support architecture specific tags +2025/04/13 10:02:52 The image returned may not be the requested architecture +2025/04/13 10:02:52 Pulling from URL: v1/imagefile/entity/collection/container:tag +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:tag?arch=amd64 +2025/04/13 10:02:52 size: 116135, parts: 2, streams: 4, partsize: 65536 +--- PASS: TestLegacyDownloadImage (0.00s) + --- PASS: TestLegacyDownloadImage/SingleStream (0.00s) + --- PASS: TestLegacyDownloadImage/MultiStream (0.00s) === RUN Test_postFile === RUN Test_postFile/Container_not_found_response === RUN Test_postFile/Unauthorized_response @@ -2833,113 +2869,113 @@ === RUN Test_UploadImageBadPath/badPath === RUN Test_UploadImageBadPath/pathError === RUN Test_UploadImageBadPath/test -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 -2026/05/15 14:12:43 Now uploading to the library -2026/05/15 14:12:43 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } -2026/05/15 14:12:43 postFile calling v1/imagefile/ -2026/05/15 14:12:43 Upload completed OK -2026/05/15 14:12:43 Setting tags against uploaded image -2026/05/15 14:12:43 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } -2026/05/15 14:12:43 This library does not support multiple architectures per tag. -2026/05/15 14:12:43 This tag will replace any already uploaded with the same name. -2026/05/15 14:12:43 getTags calling v1/tags/ -2026/05/15 14:12:43 Setting tag tag -2026/05/15 14:12:43 setTag calling v1/tags/ +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +2025/04/13 10:02:52 Now uploading to the library +2025/04/13 10:02:52 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } +2025/04/13 10:02:52 postFile calling v1/imagefile/ +2025/04/13 10:02:52 Upload completed OK +2025/04/13 10:02:52 Setting tags against uploaded image +2025/04/13 10:02:52 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } +2025/04/13 10:02:52 This library does not support multiple architectures per tag. +2025/04/13 10:02:52 This tag will replace any already uploaded with the same name. +2025/04/13 10:02:52 getTags calling v1/tags/ +2025/04/13 10:02:52 Setting tag tag +2025/04/13 10:02:52 setTag calling v1/tags/ --- PASS: Test_UploadImageBadPath (0.00s) --- PASS: Test_UploadImageBadPath/badPath (0.00s) --- PASS: Test_UploadImageBadPath/pathError (0.00s) --- PASS: Test_UploadImageBadPath/test (0.00s) === RUN Test_UploadImage === RUN Test_UploadImage/statusOK -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 -2026/05/15 14:12:43 Now uploading to the library -2026/05/15 14:12:43 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } -2026/05/15 14:12:43 postFile calling v1/imagefile/ -2026/05/15 14:12:43 Upload completed OK -2026/05/15 14:12:43 Setting tags against uploaded image -2026/05/15 14:12:43 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } -2026/05/15 14:12:43 This library does not support multiple architectures per tag. -2026/05/15 14:12:43 This tag will replace any already uploaded with the same name. -2026/05/15 14:12:43 getTags calling v1/tags/ -2026/05/15 14:12:43 Setting tag tag -2026/05/15 14:12:43 setTag calling v1/tags/ +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +2025/04/13 10:02:52 Now uploading to the library +2025/04/13 10:02:52 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } +2025/04/13 10:02:52 postFile calling v1/imagefile/ +2025/04/13 10:02:52 Upload completed OK +2025/04/13 10:02:52 Setting tags against uploaded image +2025/04/13 10:02:52 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } +2025/04/13 10:02:52 This library does not support multiple architectures per tag. +2025/04/13 10:02:52 This tag will replace any already uploaded with the same name. +2025/04/13 10:02:52 getTags calling v1/tags/ +2025/04/13 10:02:52 Setting tag tag +2025/04/13 10:02:52 setTag calling v1/tags/ === RUN Test_UploadImage/badRequest -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 === RUN Test_UploadImage/internalServerError -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 === RUN Test_UploadImage/entityNotFound -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 Entity entity does not exist in library - creating it. -2026/05/15 14:12:43 apiCreate calling v1/entities +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 Entity entity does not exist in library - creating it. +2025/04/13 10:02:52 apiCreate calling v1/entities === RUN Test_UploadImage/entityBadRequest -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity === RUN Test_UploadImage/collectionNotFound -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 Collection collection does not exist in library - creating it. -2026/05/15 14:12:43 apiCreate calling v1/collections +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 Collection collection does not exist in library - creating it. +2025/04/13 10:02:52 apiCreate calling v1/collections === RUN Test_UploadImage/collectionBadRequest -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection === RUN Test_UploadImage/containerNotFound -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 Container container does not exist in library - creating it. -2026/05/15 14:12:43 apiCreate calling v1/containers +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 Container container does not exist in library - creating it. +2025/04/13 10:02:52 apiCreate calling v1/containers === RUN Test_UploadImage/containerBadRequest -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container === RUN Test_UploadImage/imageNotFound -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 -2026/05/15 14:12:43 Image 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f does not exist in library - creating it. -2026/05/15 14:12:43 apiCreate calling v1/images +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +2025/04/13 10:02:52 Image 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f does not exist in library - creating it. +2025/04/13 10:02:52 apiCreate calling v1/images === RUN Test_UploadImage/imageBadRequest -2026/05/15 14:12:43 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f -2026/05/15 14:12:43 Fallback to (legacy) library upload -2026/05/15 14:12:43 apiGet calling v1/entities/entity -2026/05/15 14:12:43 apiGet calling v1/collections/entity/collection -2026/05/15 14:12:43 apiGet calling v1/containers/entity/collection/container -2026/05/15 14:12:43 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 ---- PASS: Test_UploadImage (0.03s) +2025/04/13 10:02:52 Image hash computed as 5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f +2025/04/13 10:02:52 Fallback to (legacy) library upload +2025/04/13 10:02:52 apiGet calling v1/entities/entity +2025/04/13 10:02:52 apiGet calling v1/collections/entity/collection +2025/04/13 10:02:52 apiGet calling v1/containers/entity/collection/container +2025/04/13 10:02:52 apiGet calling v1/images/entity/collection/container:sha256.5e8b64da785f1572e6da780648eaaffa009152d297bde80f852f068b0ec2989f?arch=amd64 +--- PASS: Test_UploadImage (0.01s) --- PASS: Test_UploadImage/statusOK (0.00s) --- PASS: Test_UploadImage/badRequest (0.00s) --- PASS: Test_UploadImage/internalServerError (0.00s) @@ -2952,92 +2988,92 @@ --- PASS: Test_UploadImage/imageNotFound (0.00s) --- PASS: Test_UploadImage/imageBadRequest (0.00s) === RUN Test_postFileWrapper -2026/05/15 14:12:43 Now uploading to the library -2026/05/15 14:12:43 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } -2026/05/15 14:12:43 postFile calling v1/imagefile/xxx -2026/05/15 14:12:43 Upload completed OK +2025/04/13 10:02:52 Now uploading to the library +2025/04/13 10:02:52 Unable to determine remote API version: jsonresp: failed to read response: json: cannot unmarshal number into Go value of type struct { Data json.RawMessage "json:\"data\""; Page *jsonresp.PageDetails "json:\"page\""; Error *jsonresp.Error "json:\"error\"" } +2025/04/13 10:02:52 postFile calling v1/imagefile/xxx +2025/04/13 10:02:52 Upload completed OK --- PASS: Test_postFileWrapper (0.00s) === RUN Test_postFileV2 === RUN Test_postFileV2/basic -2026/05/15 14:12:43 Using legacy (single part) uploader -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/xxx -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_complete +2025/04/13 10:02:52 Using legacy (single part) uploader +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/xxx +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_complete === RUN Test_postFileV2/invalid -2026/05/15 14:12:43 Attempting to use multipart uploader -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[67108865] -2026/05/15 14:12:43 S3 compliant option: true -2026/05/15 14:12:43 Uploading part 1 (123 bytes) -2026/05/15 14:12:43 Error repositioning file pointer: strings.Reader.Seek: negative position -2026/05/15 14:12:43 Error uploading part 1: strings.Reader.Seek: negative position -2026/05/15 14:12:43 Aborting multipart upload ID: xxx -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 Attempting to use multipart uploader +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[67108865] +2025/04/13 10:02:52 S3 compliant option: true +2025/04/13 10:02:52 Uploading part 1 (123 bytes) +2025/04/13 10:02:52 Error repositioning file pointer: strings.Reader.Seek: negative position +2025/04/13 10:02:52 Error uploading part 1: strings.Reader.Seek: negative position +2025/04/13 10:02:52 Aborting multipart upload ID: xxx +2025/04/13 10:02:52 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart_abort --- PASS: Test_postFileV2 (0.00s) --- PASS: Test_postFileV2/basic (0.00s) --- PASS: Test_postFileV2/invalid (0.00s) === RUN Test_postFileV2Multipart === RUN Test_postFileV2Multipart/statusOK -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] -2026/05/15 14:12:43 S3 compliant option: true -2026/05/15 14:12:43 Uploading part 1 (16 bytes) -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Part 1 accepted (ETag: thisisasampleetag) -2026/05/15 14:12:43 Uploaded 1 parts -2026/05/15 14:12:43 Completing multipart upload: xxx -2026/05/15 14:12:43 completeMultipartUpload calling v2/imagefile/xxx/_multipart_complete -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart_complete +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] +2025/04/13 10:02:52 S3 compliant option: true +2025/04/13 10:02:52 Uploading part 1 (16 bytes) +2025/04/13 10:02:52 multipartUploadPart calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Part 1 accepted (ETag: thisisasampleetag) +2025/04/13 10:02:52 Uploaded 1 parts +2025/04/13 10:02:52 Completing multipart upload: xxx +2025/04/13 10:02:52 completeMultipartUpload calling v2/imagefile/xxx/_multipart_complete +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart_complete === RUN Test_postFileV2Multipart/internalServerError -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Error starting multipart upload: invalid character '\'' looking for beginning of value +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Error starting multipart upload: invalid character '\'' looking for beginning of value === RUN Test_postFileV2Multipart/okBadRequest -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] -2026/05/15 14:12:43 S3 compliant option: true -2026/05/15 14:12:43 Uploading part 1 (16 bytes) -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Object store returned an error: 400 -2026/05/15 14:12:43 Error uploading part 1: http error: object store returned an error: 400 -2026/05/15 14:12:43 Aborting multipart upload ID: xxx -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] +2025/04/13 10:02:52 S3 compliant option: true +2025/04/13 10:02:52 Uploading part 1 (16 bytes) +2025/04/13 10:02:52 multipartUploadPart calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Object store returned an error: 400 +2025/04/13 10:02:52 Error uploading part 1: http error: object store returned an error: 400 +2025/04/13 10:02:52 Aborting multipart upload ID: xxx +2025/04/13 10:02:52 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart_abort === RUN Test_postFileV2Multipart/badRequestOK -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Error starting multipart upload: http error: request did not succeed: http status code: 400 +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Error starting multipart upload: http error: request did not succeed: http status code: 400 === RUN Test_postFileV2Multipart/internalOK -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Error starting multipart upload: invalid character '\'' looking for beginning of value +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Error starting multipart upload: invalid character '\'' looking for beginning of value === RUN Test_postFileV2Multipart/okInternal -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] -2026/05/15 14:12:43 S3 compliant option: true -2026/05/15 14:12:43 Uploading part 1 (16 bytes) -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Object store returned an error: 500 -2026/05/15 14:12:43 Error uploading part 1: http error: object store returned an error: 500 -2026/05/15 14:12:43 Aborting multipart upload ID: xxx -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Multi-part upload: ID=[xxx] totalParts=[1] partSize=[16] +2025/04/13 10:02:52 S3 compliant option: true +2025/04/13 10:02:52 Uploading part 1 (16 bytes) +2025/04/13 10:02:52 multipartUploadPart calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Object store returned an error: 500 +2025/04/13 10:02:52 Error uploading part 1: http error: object store returned an error: 500 +2025/04/13 10:02:52 Aborting multipart upload ID: xxx +2025/04/13 10:02:52 abortMultipartUpload calling v2/imagefile/xxx/_multipart_abort +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_multipart_abort === RUN Test_postFileV2Multipart/internalBadRequest -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Error starting multipart upload: invalid character '\'' looking for beginning of value +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Error starting multipart upload: invalid character '\'' looking for beginning of value === RUN Test_postFileV2Multipart/badRequestInternal -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx/_multipart -2026/05/15 14:12:43 Error starting multipart upload: http error: request did not succeed: http status code: 400 +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx/_multipart +2025/04/13 10:02:52 Error starting multipart upload: http error: request did not succeed: http status code: 400 --- PASS: Test_postFileV2Multipart (0.01s) --- PASS: Test_postFileV2Multipart/statusOK (0.00s) --- PASS: Test_postFileV2Multipart/internalServerError (0.00s) @@ -3055,14 +3091,14 @@ --- PASS: Test_getPartSize/morePartsThanBytes (0.00s) === RUN Test_startMultipartUpload === RUN Test_startMultipartUpload/success -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/testID/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/testID/_multipart === RUN Test_startMultipartUpload/badRequest -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/testID/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/testID/_multipart === RUN Test_startMultipartUpload/internalServerError -2026/05/15 14:12:43 startMultipartUpload calling v2/imagefile/testID/_multipart -2026/05/15 14:12:43 apiCreate calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 startMultipartUpload calling v2/imagefile/testID/_multipart +2025/04/13 10:02:52 apiCreate calling v2/imagefile/testID/_multipart --- PASS: Test_startMultipartUpload (0.00s) --- PASS: Test_startMultipartUpload/success (0.00s) --- PASS: Test_startMultipartUpload/badRequest (0.00s) @@ -3077,65 +3113,65 @@ --- PASS: Test_remoteSHA256ChecksumSupport/NoValue (0.00s) === RUN Test_legacyPostFileV2 === RUN Test_legacyPostFileV2/Basic -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/5cb9c34d7d960d82f5f5bc55 -2026/05/15 14:12:43 apiCreate calling v2/imagefile/5cb9c34d7d960d82f5f5bc55 -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/5cb9c34d7d960d82f5f5bc55/_complete +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/5cb9c34d7d960d82f5f5bc55 +2025/04/13 10:02:52 apiCreate calling v2/imagefile/5cb9c34d7d960d82f5f5bc55 +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/5cb9c34d7d960d82f5f5bc55/_complete --- PASS: Test_legacyPostFileV2 (0.00s) --- PASS: Test_legacyPostFileV2/Basic (0.00s) === RUN Test_legacyPostFileV2URL === RUN Test_legacyPostFileV2URL/basic -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/xxx -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/xxx/_complete +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/xxx +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/xxx/_complete === RUN Test_legacyPostFileV2URL/emptyURL -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/xxx -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/xxx +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx === RUN Test_legacyPostFileV2URL/parseURLError -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/xxx -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/xxx +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx === RUN Test_legacyPostFileV2URL/unsupported -2026/05/15 14:12:43 legacyPostFileV2 calling v2/imagefile/xxx -2026/05/15 14:12:43 apiCreate calling v2/imagefile/xxx +2025/04/13 10:02:52 legacyPostFileV2 calling v2/imagefile/xxx +2025/04/13 10:02:52 apiCreate calling v2/imagefile/xxx --- PASS: Test_legacyPostFileV2URL (0.00s) --- PASS: Test_legacyPostFileV2URL/basic (0.00s) --- PASS: Test_legacyPostFileV2URL/emptyURL (0.00s) --- PASS: Test_legacyPostFileV2URL/parseURLError (0.00s) --- PASS: Test_legacyPostFileV2URL/unsupported (0.00s) === RUN Test_Test_multipartUploadPartBadSize -2026/05/15 14:12:43 Error repositioning file pointer: strings.Reader.Seek: negative position +2025/04/13 10:02:52 Error repositioning file pointer: strings.Reader.Seek: negative position --- PASS: Test_Test_multipartUploadPartBadSize (0.00s) === RUN Test_multipartUploadPart === RUN Test_multipartUploadPart/statusOK -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 Part 0 accepted (ETag: thisisasampleetag) +2025/04/13 10:02:52 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:52 Part 0 accepted (ETag: thisisasampleetag) === RUN Test_multipartUploadPart/badRequest -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:52 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:52 apiUpdate calling v2/imagefile/testImageID/_multipart === RUN Test_multipartUploadPart/internalServerError -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart === RUN Test_multipartUploadPart/okBadRequest -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 Object store returned an error: 400 +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 Object store returned an error: 400 === RUN Test_multipartUploadPart/badRequestOK -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart === RUN Test_multipartUploadPart/internalOK -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart === RUN Test_multipartUploadPart/okInternal -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 Object store returned an error: 500 +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 Object store returned an error: 500 === RUN Test_multipartUploadPart/internalBadRequest -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart === RUN Test_multipartUploadPart/badRequestInternal -2026/05/15 14:12:43 multipartUploadPart calling v2/imagefile/testImageID/_multipart -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart ---- PASS: Test_multipartUploadPart (0.01s) +2025/04/13 10:02:53 multipartUploadPart calling v2/imagefile/testImageID/_multipart +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart +--- PASS: Test_multipartUploadPart (0.00s) --- PASS: Test_multipartUploadPart/statusOK (0.00s) --- PASS: Test_multipartUploadPart/badRequest (0.00s) --- PASS: Test_multipartUploadPart/internalServerError (0.00s) @@ -3147,38 +3183,38 @@ --- PASS: Test_multipartUploadPart/badRequestInternal (0.00s) === RUN Test_completeMultipartUpload === RUN Test_completeMultipartUpload/statusOK -2026/05/15 14:12:43 Completing multipart upload: testUploadID -2026/05/15 14:12:43 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 Completing multipart upload: testUploadID +2025/04/13 10:02:53 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_complete === RUN Test_completeMultipartUpload/badRequest -2026/05/15 14:12:43 Completing multipart upload: testUploadID -2026/05/15 14:12:43 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_complete -2026/05/15 14:12:43 Error completing multipart upload: http error: request did not succeed: http status code: 400 +2025/04/13 10:02:53 Completing multipart upload: testUploadID +2025/04/13 10:02:53 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 Error completing multipart upload: http error: request did not succeed: http status code: 400 === RUN Test_completeMultipartUpload/internalServerError -2026/05/15 14:12:43 Completing multipart upload: testUploadID -2026/05/15 14:12:43 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_complete -2026/05/15 14:12:43 Error decoding complete multipart upload request: invalid character '\'' looking for beginning of value +2025/04/13 10:02:53 Completing multipart upload: testUploadID +2025/04/13 10:02:53 completeMultipartUpload calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_complete +2025/04/13 10:02:53 Error decoding complete multipart upload request: invalid character '\'' looking for beginning of value --- PASS: Test_completeMultipartUpload (0.00s) --- PASS: Test_completeMultipartUpload/statusOK (0.00s) --- PASS: Test_completeMultipartUpload/badRequest (0.00s) --- PASS: Test_completeMultipartUpload/internalServerError (0.00s) === RUN Test_abortMultipartUpload === RUN Test_abortMultipartUpload/statusOK -2026/05/15 14:12:43 Aborting multipart upload ID: testUploadID -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 Aborting multipart upload ID: testUploadID +2025/04/13 10:02:53 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_abort === RUN Test_abortMultipartUpload/badRequest -2026/05/15 14:12:43 Aborting multipart upload ID: testUploadID -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_abort -2026/05/15 14:12:43 error aborting multipart upload: http error: request did not succeed: http status code: 400 +2025/04/13 10:02:53 Aborting multipart upload ID: testUploadID +2025/04/13 10:02:53 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 error aborting multipart upload: http error: request did not succeed: http status code: 400 === RUN Test_abortMultipartUpload/internalServerError -2026/05/15 14:12:43 Aborting multipart upload ID: testUploadID -2026/05/15 14:12:43 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort -2026/05/15 14:12:43 apiUpdate calling v2/imagefile/testImageID/_multipart_abort -2026/05/15 14:12:43 error aborting multipart upload: http error: request did not succeed: http status code: 500 +2025/04/13 10:02:53 Aborting multipart upload ID: testUploadID +2025/04/13 10:02:53 abortMultipartUpload calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 apiUpdate calling v2/imagefile/testImageID/_multipart_abort +2025/04/13 10:02:53 error aborting multipart upload: http error: request did not succeed: http status code: 500 --- PASS: Test_abortMultipartUpload (0.00s) --- PASS: Test_abortMultipartUpload/statusOK (0.00s) --- PASS: Test_abortMultipartUpload/badRequest (0.00s) @@ -3811,7 +3847,7 @@ === RUN Test_apiAtLeast/slightly_older === RUN Test_apiAtLeast/newer_than_that === RUN Test_apiAtLeast/distant_future ---- PASS: Test_apiAtLeast (0.01s) +--- PASS: Test_apiAtLeast (0.00s) --- PASS: Test_apiAtLeast/legacy (0.00s) --- PASS: Test_apiAtLeast/malformed (0.00s) --- PASS: Test_apiAtLeast/error (0.00s) @@ -3828,7 +3864,7 @@ --- PASS: TestParseContentLengthHeader/InvalidValue (0.00s) --- PASS: TestParseContentLengthHeader/EmptyValue (0.00s) PASS -ok github.com/apptainer/container-library-client/client 0.185s +ok github.com/apptainer/container-library-client/client 0.143s make[1]: Leaving directory '/build/reproducible-path/golang-github-apptainer-container-library-client-1.4.10' create-stamp debian/debhelper-build-stamp dh_testroot -O--builddirectory=_build -O--buildsystem=golang @@ -3856,12 +3892,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/2975467/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/2975467/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/696979 and its subdirectories -I: Current time: Fri May 15 14:12:52 -12 2026 -I: pbuilder-time-stamp: 1778897572 +I: removing directory /srv/workspace/pbuilder/2975467 and its subdirectories +I: Current time: Sun Apr 13 10:03:31 +14 2025 +I: pbuilder-time-stamp: 1744488211