Hello,

On Wed 06 Aug 2025 at 12:16pm +01, Ian Jackson wrote:

> Sean Whitton writes ("Bug#1110474: dgit: Some sbuild tests fail under 
> tests/run-all"):
>> The quilt-gbp-build-modes-sbuild and sbuild-gitish tests fail for me
>> when run under tests/run-all.  Hacking that script such that jcpus=-j1
>> avoids the issue.
>
> You don't give an actual error message.  (run-all leaves them in files
> called .log)  Is it stochastic somehow?

Oops, should have included those.

It seems to be stochastic indeed.  For example using this:

    tests/using-intree tests/run-all tests/tests/quilt-gbp-build-modes-sbuild 
tests/tests/sbuild-gitish

means only sbuild-gitish fails.
I can get them both to fail by doing just

    tests/using-intree tests/run-all

I don't want to post those whole .log files publically, so here are some
extracts:

quilt-gbp-build-modes-sbuild:
--8<---------------cut here---------------start------------->8---
CD ..
moving example_1.0-2.dsc, example_1.0-2_source.changes, etc. to 
/home/swhitton/src/dgit/dgit/tests/tmp/quilt-gbp-build-modes-sbuild/example/..
 renaming (Files) example_1.0.orig-docs.tar.gz
 renaming (Files) example_1.0.orig.tar.gz
 renaming (Files) example_1.0-2.debian.tar.xz
 renaming (dsc) example_1.0-2.dsc
 renaming (changes) example_1.0-2_source.changes
CD /home/swhitton/src/dgit/dgit/tests/tmp/quilt-gbp-build-modes-sbuild/example
CD ..
+ sbuild --no-source --no-source-only-changes -d unstable -c sid --arch-all 
example_1.0-2.dsc
The Debian buildds switched to the "unshare" backend and sbuild will default to 
it in the future.
To start using "unshare" add this to your `~/.config/sbuild/config.pl`:
        $chroot_mode = "unshare";
If you want to keep the old "schroot" mode even in the future, add the 
following to your `~/.config/sbuild/config.pl`:
        $chroot_mode = "schroot";
        $schroot = "schroot";
E: Failed to explain bd-uninstallable
dgit: failed command: sbuild --no-source --no-source-only-changes -d unstable 
-c sid --arch-all example_1.0-2.dsc

dgit: error: subprocess failed with error exit status 1
+ local 'ps=255 0'
+ set -o pipefail
+ bm-quirk-sbuild-after-act
+ local arch
++ dpkg-architecture -qDEB_BUILD_ARCH
+ arch=amd64
+ local sblog=../example_1.0-2_amd64.build
+ '[' -e ../example_1.0-2_amd64.build ']'
+ sed '
                        s/^EXAMPLE RULES TARGET clean/HOOK SUPPRESSED &/;
                '
+ exec
+ echo '===== [sbuild_-c_sid_--arch-all,git,for-build-modes] dgit  --clean=git 
--quilt=gbp sbuild -c sid --arch-all ====='
+ case $ps in
+ actual_status=failure
+ echo 'OPERATION FAILED'
+ case "$require_fail-$tolerate_fail-$actual_status" in
+ fail 'RF=unexpect TF=unexpect AS=failure'
+ echo 'failed: RF=unexpect TF=unexpect AS=failure'
failed: RF=unexpect TF=unexpect AS=failure
+ exit 1
+ rc=1
+ set +x

%%%%%%%%%%%%%%%%%%%% EXITING 1 %%%%%%%%%%%%%%%%%%%%

                Most relevant logs are just before assignment rc=1
                Will now do cleanup etc.
--8<---------------cut here---------------end--------------->8---

sbuild-gitish.log:
--8<---------------cut here---------------start------------->8---
++ sbuild -v -d sid -A --no-clean-source '--dpkg-source-opts=-Zgzip -z1 
--format=1.0 -sn'
The Debian buildds switched to the "unshare" backend and sbuild will default to 
it in the future.
To start using "unshare" add this to your `~/.config/sbuild/config.pl`:
        $chroot_mode = "unshare";
If you want to keep the old "schroot" mode even in the future, add the 
following to your `~/.config/sbuild/config.pl`:
        $chroot_mode = "schroot";
        $schroot = "schroot";
dpkg-source: warning: native package version may not have a revision
dpkg-source: warning: source directory 'example' is not 
<sourcepackage>-<upstreamversion> 'example-1.1'
dpkg-source: info: using source format '1.0'
dpkg-source: info: building example in example_1.1-1.tar.gz
dpkg-source: info: building example in example_1.1-1.dsc
sbuild (Debian sbuild) 0.89.3 (07 June 2025) on zephyr.silentflame.com

+==============================================================================+
| example 1.1-1 (amd64)                        Wed, 06 Aug 2025 11:41:40 +0000 |
+==============================================================================+

Package: example
Version: 1.1-1
Source Version: 1.1-1
Distribution: sid
Machine Architecture: amd64
Host Architecture: amd64
Build Architecture: amd64
Build Type: binary

I: Setting up the chroot...
I: Creating chroot session...
I: Setting up log color...
I: Setting up apt archive...

+------------------------------------------------------------------------------+
| Update chroot                                Wed, 06 Aug 2025 11:41:41 +0000 |
+------------------------------------------------------------------------------+

Get:1 http://uk.mirrors.clouvider.net/debian unstable InRelease [216 kB]
Get:2 http://uk.mirrors.clouvider.net/debian unstable/main Sources.diff/Index 
[63.6 kB]
Get:3 http://incoming.debian.org/debian-buildd buildd-unstable InRelease [53.8 
kB]
Get:4 http://uk.mirrors.clouvider.net/debian unstable/non-free 
Sources.diff/Index [63.3 kB]
Get:5 http://uk.mirrors.clouvider.net/debian unstable/contrib 
Sources.diff/Index [63.3 kB]
Get:6 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware 
Sources.diff/Index [63.3 kB]
Get:7 http://uk.mirrors.clouvider.net/debian unstable/main amd64 
Packages.diff/Index [63.6 kB]
Get:8 http://uk.mirrors.clouvider.net/debian unstable/contrib amd64 
Packages.diff/Index [63.3 kB]
Get:9 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware amd64 
Packages.diff/Index [63.3 kB]
Get:10 http://uk.mirrors.clouvider.net/debian unstable/non-free amd64 
Packages.diff/Index [63.3 kB]
Get:11 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 
Packages [55.0 kB]
Get:12 http://uk.mirrors.clouvider.net/debian unstable/main Sources 
T-2025-08-06-0804.20-F-2025-08-03-1404.31.pdiff [32.8 kB]
Get:13 http://uk.mirrors.clouvider.net/debian unstable/non-free Sources 
T-2025-08-04-1404.44-F-2025-08-04-0804.27.pdiff [615 B]
Get:14 http://uk.mirrors.clouvider.net/debian unstable/contrib Sources 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [308 B]
Get:15 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware 
Sources T-2025-08-04-0204.46-F-2025-08-04-0204.46.pdiff [319 B]
Get:16 http://uk.mirrors.clouvider.net/debian unstable/main amd64 Packages 
T-2025-08-06-0804.20-F-2025-08-03-1404.31.pdiff [36.8 kB]
Get:17 http://uk.mirrors.clouvider.net/debian unstable/contrib amd64 Packages 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [219 B]
Get:18 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware amd64 
Packages T-2025-08-04-0204.46-F-2025-08-04-0204.46.pdiff [220 B]
Get:19 http://incoming.debian.org/debian-buildd buildd-unstable/contrib amd64 
Packages [860 B]
Get:16 http://uk.mirrors.clouvider.net/debian unstable/main amd64 Packages 
T-2025-08-06-0804.20-F-2025-08-03-1404.31.pdiff [36.8 kB]
Get:15 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware 
Sources T-2025-08-04-0204.46-F-2025-08-04-0204.46.pdiff [319 B]
Get:14 http://uk.mirrors.clouvider.net/debian unstable/contrib Sources 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [308 B]
Get:13 http://uk.mirrors.clouvider.net/debian unstable/non-free Sources 
T-2025-08-04-1404.44-F-2025-08-04-0804.27.pdiff [615 B]
Get:18 http://uk.mirrors.clouvider.net/debian unstable/non-free-firmware amd64 
Packages T-2025-08-04-0204.46-F-2025-08-04-0204.46.pdiff [220 B]
Get:17 http://uk.mirrors.clouvider.net/debian unstable/contrib amd64 Packages 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [219 B]
Get:12 http://uk.mirrors.clouvider.net/debian unstable/main Sources 
T-2025-08-06-0804.20-F-2025-08-03-1404.31.pdiff [32.8 kB]
Get:20 http://uk.mirrors.clouvider.net/debian unstable/non-free amd64 Packages 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [195 B]
Get:20 http://uk.mirrors.clouvider.net/debian unstable/non-free amd64 Packages 
T-2025-08-04-1404.44-F-2025-08-04-1404.44.pdiff [195 B]
Fetched 904 kB in 1s (738 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages will be upgraded:
  libc-bin libc-dev-bin libc6 libc6-dev
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 5531 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 
libc6-dev amd64 2.41-12 [1991 kB]
Get:2 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 
libc-dev-bin amd64 2.41-12 [58.2 kB]
Get:3 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 libc6 
amd64 2.41-12 [2846 kB]
Get:4 http://incoming.debian.org/debian-buildd buildd-unstable/main amd64 
libc-bin amd64 2.41-12 [637 kB]
Preconfiguring packages ...
Fetched 5531 kB in 0s (341 MB/s)
(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 ... 11888 files and directories currently installed.)
Preparing to unpack .../libc6-dev_2.41-12_amd64.deb ...
Unpacking libc6-dev:amd64 (2.41-12) over (2.41-11) ...
Preparing to unpack .../libc-dev-bin_2.41-12_amd64.deb ...
Unpacking libc-dev-bin (2.41-12) over (2.41-11) ...
Preparing to unpack .../libc6_2.41-12_amd64.deb ...
Unpacking libc6:amd64 (2.41-12) over (2.41-11) ...
Setting up libc6:amd64 (2.41-12) ...
(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 ... 11888 files and directories currently installed.)
Preparing to unpack .../libc-bin_2.41-12_amd64.deb ...
Unpacking libc-bin (2.41-12) over (2.41-11) ...
Setting up libc-bin (2.41-12) ...
Setting up libc-dev-bin (2.41-12) ...
Setting up libc6-dev:amd64 (2.41-12) ...

+------------------------------------------------------------------------------+
| Fetch source files                           Wed, 06 Aug 2025 11:41:44 +0000 |
+------------------------------------------------------------------------------+

Local sources
-------------

/home/swhitton/src/dgit/dgit/tests/tmp/sbuild-gitish/example_1.1-1.dsc exists 
in /home/swhitton/src/dgit/dgit/tests/tmp/sbuild-gitish; copying to chroot
/usr/bin/sh: 1: cannot create /build/reproducible-path/example_1.1-1.dsc: 
Directory nonexistent
chown: cannot access '/build/reproducible-path/example_1.1-1.dsc': No such file 
or directory
E: Can't chown /build/reproducible-path/example_1.1-1.dsc to swhitton:sbuild:
E: Failed to set sbuild group ownership on 
/build/reproducible-path/example_1.1-1.dsc
E: Could not copy 
/home/swhitton/src/dgit/dgit/tests/tmp/sbuild-gitish/example_1.1-1.dsc to 
/build/reproducible-path/example_1.1-1.dsc

+------------------------------------------------------------------------------+
| Cleanup                                      Wed, 06 Aug 2025 11:41:44 +0000 |
+------------------------------------------------------------------------------+

Purging /build/reproducible-path
rm: cannot remove '/build/reproducible-path': No such file or directory
E: Can't unlink /build/reproducible-path:
E: unable to remove build directory
Not cleaning session: cloned chroot in use
E: Failed to fetch source files

+------------------------------------------------------------------------------+
| Summary                                      Wed, 06 Aug 2025 11:41:44 +0000 |
+------------------------------------------------------------------------------+

Build Architecture: amd64
Build Type: binary
Build-Space: n/a
Build-Time: 0
Distribution: sid
Fail-Stage: fetch-src
Host Architecture: amd64
Install-Time: 0
Job: /home/swhitton/src/dgit/dgit/tests/tmp/sbuild-gitish/example_1.1-1.dsc
Machine Architecture: amd64
Package: example
Package-Time: 0
Source-Version: 1.1-1
Space: n/a
Status: given-back
Version: 1.1-1
--------------------------------------------------------------------------------
Finished at 2025-08-06T11:41:40Z
Build needed 00:00:00, no disk space
E: Failed to fetch source files
+ rc=3
+ set +x

%%%%%%%%%%%%%%%%%%%% EXITING 3 %%%%%%%%%%%%%%%%%%%%

                Most relevant logs are just before assignment rc=3
                Will now do cleanup etc.
--8<---------------cut here---------------end--------------->8---

>> I am not sure that the problem is that my sbuild setup actually can't do
>> the parallelism.  This problam has only recently emerged, possibly with
>> the upgrade to trixie -- but I did make *some* changes to my sbuild
>> setup relatively recently.
> ...
>> This text about the unshare backend is suppressed if you have the
>> suggested $chroot_mode="schroot" and $schroot="schroot" in your
>> ~/.config/sbuild/config.pl -- which I do.
>
> The tests all set HOME, so that they are uninfluenced by (for example)
> unwanted things in the user's devscripts or git configuration,
> etc. etc.
>
> I have sbuild 0.89.3 and it WFM.  All my schroot configuration is in
> /etc.

Looking at my sbuild config, there isn't anything that should be
relevant.  I think that for me too everything that the test suite should
depend on is in /etc.  And I've been successfully using the dgit test
suite for some years.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to