--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: lintian gets stuck when run by sbuild within rebuildd
- From: Raphaël Hertzog <raphael@offensive-security.com>
- Date: Mon, 27 Jul 2020 15:56:46 +0200
- Message-id: <159585820604.55799.3797762840287363607.reportbug@x260-buxy.home.ouaza.com>
Package: lintian
Version: 2.85.0
Severity: important
User: devel@kali.org
Usertags: origin-kali
In Kali, our build daemons run "rebuildd" with a build script that calls
sbuild --run-lintian. Since lintian 2.85 (I believe 2.84.0 is not affected),
the build process get stuck at the point when lintian is run. I see two lintian
processes (a parent and its child) and both are stuck in epoll_pwait()
according to strace.
In normal (non-verbose mode) there's no output of lintian before it gets stuck:
Example in this build log:
http://buildd-amd64.kali.org/build-logs/golang-github-projectdiscovery-gologger_1.0.0-0kali1-kali-dev-amd64-20200724-124452.3196.log
When I add the --debug option you see this:
http://buildd-amd64.kali.org/build-logs/kali-meta_2020.3.10-kali-dev-amd64-20200727-132744.3202.log
The last lines are like this:
N: Check script control-files for binary:kali-tools-forensics/2020.3.10/amd64 done (0.015s)
N: Running check: cron on binary:kali-tools-forensics/2020.3.10/amd64 ...
N: Check script cron for binary:kali-tools-forensics/2020.3.10/amd64 done (0.009s)
N: Running check: cruft on binary:kali-tools-forensics/2020.3.10/amd64 ...
N: Check script cruft for binary:kali-tools-forensics/2020.3.10/amd64 done (0.015s)
N: Running check: deb-format on binary:kali-tools-forensics/2020.3.10/amd64 ...
The process tree is like this:
kalibui+ 32428 0.0 0.0 19640 3252 ? Ss 13:28 0:00 \_ /bin/sh /srv/build.kali.org/bin/build kali-meta 2020.3.10 amd64 kali-dev
kalibui+ 32431 0.2 0.1 89316 33428 ? S 13:28 0:00 \_ /usr/bin/perl /usr/bin/sbuild --no-source --run-lintian --lintian-opts=-I --debug --nolog --apt-update --apt-upgrade --no-apt-distupgrade --arch=amd64 -d kali-dev --arch-all /srv/build.kali.org/build/work/kali-meta_2020.3.10.dsc
kalibui+ 32436 0.1 0.0 88388 30100 ? S 13:28 0:00 \_ /usr/bin/perl /usr/bin/sbuild --no-source --run-lintian --lintian-opts=-I --debug --nolog --apt-update --apt-upgrade --no-apt-distupgrade --arch=amd64 -d kali-dev --arch-all /srv/build.kali.org/build/work/kali-meta_2020.3.10.dsc
root 4007 0.0 0.0 66528 6480 ? S 13:28 0:00 \_ schroot -d /build/kali-meta-E2qWUi -c kali-dev-amd64-sbuild-a3951a2c-b417-47f2-915c-bb7f546b39ff --run-session -q -u kalibuild -p -- lintian -I --debug kali-meta_2020.3.10_amd64.changes kali-meta_2020.3.10.dsc
kalibui+ 4008 3.3 0.2 123596 76080 ? S 13:28 0:03 \_ lintian -I --debug kali-meta_2020.3.10_amd64.changes kali-meta_2020.3.10.dsc
kalibui+ 5628 0.0 0.2 123732 69692 ? S 13:28 0:00 \_ lintian -I --debug kali-meta_2020.3.10_amd64.changes kali-meta_2020.3.10.dsc
The open files are like this:
# ls -al /proc/4008/fd /proc/5628/fd
/proc/4008/fd:
total 0
dr-x------ 2 kalibuild kalibuild 0 Jul 27 13:38 .
dr-xr-xr-x 8 kalibuild kalibuild 0 Jul 27 13:28 ..
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:38 0 -> /dev/null
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 1 -> pipe:[689890348]
lr-x------ 1 kalibuild kalibuild 64 Jul 27 13:38 11 -> pipe:[689938177]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 13 -> /srv/build.kali.org/build/logs/i3-gaps_4.18.1-0kali2-kali-dev-i386-20200724-200857.3199.log
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 2 -> pipe:[689890348]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 3 -> /srv/build.kali.org/db/rebuildd.log
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 4 -> /srv/build.kali.org/db/rebuildd.log
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:38 5 -> socket:[8970131]
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:38 6 -> anon_inode:[eventpoll]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:38 7 -> /run/schroot/mount/kali-dev-amd64-sbuild-a3951a2c-b417-47f2-915c-bb7f546b39ff/dev/null
lr-x------ 1 kalibuild kalibuild 64 Jul 27 13:38 8 -> pipe:[689938176]
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:38 9 -> socket:[528586941]
/proc/5628/fd:
total 0
dr-x------ 2 kalibuild kalibuild 0 Jul 27 13:28 .
dr-xr-xr-x 8 kalibuild kalibuild 0 Jul 27 13:28 ..
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:28 0 -> /dev/null
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:28 1 -> pipe:[689890348]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:28 10 -> pipe:[689938176]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:28 12 -> pipe:[689938177]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:28 2 -> pipe:[689890348]
lrwx------ 1 kalibuild kalibuild 64 Jul 27 13:28 3 -> anon_inode:[eventpoll]
lr-x------ 1 kalibuild kalibuild 64 Jul 27 13:28 6 -> pipe:[689942617]
l-wx------ 1 kalibuild kalibuild 64 Jul 27 13:28 7 -> pipe:[689942617]
lr-x------ 1 kalibuild kalibuild 64 Jul 27 13:28 8 -> pipe:[689942618]
And the strace output is like this:
# strace -p 4008 -p 5628
strace: Process 4008 attached
strace: Process 5628 attached
[pid 5628] getpid( <unfinished ...>
[pid 4008] getpid( <unfinished ...>
[pid 5628] <... getpid resumed> ) = 5628
[pid 4008] <... getpid resumed> ) = 4008
[pid 5628] epoll_pwait(3, <unfinished ...>
[pid 4008] epoll_pwait(6,
When I run "sbuild --run-lintian" manualy, outside of rebuildd, then lintian
works and it doesn't get stuck. So there might something about what rebuildd
is doing like calling "os.setsid()"...
Cheers,
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-6-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages lintian depends on:
ii binutils 2.34.90.20200706-1
ii bzip2 1.0.8-4
ii diffstat 1.63-1
ii dpkg 1.20.5
ii dpkg-dev 1.20.5
ii file 1:5.38-5
ii gettext 0.19.8.1-10
ii gpg 2.2.20-1
ii intltool-debian 0.35.0+20060710.5
ii libapt-pkg-perl 0.1.36+b3
ii libarchive-zip-perl 1.68-1
ii libcapture-tiny-perl 0.48-1
ii libclass-xsaccessor-perl 1.19-3+b5
ii libclone-perl 0.45-1
ii libconfig-tiny-perl 2.24-1
ii libcpanel-json-xs-perl 4.19-1
ii libdata-dpath-perl 0.58-1
ii libdata-validate-domain-perl 0.10-1
ii libdevel-size-perl 0.83-1+b1
ii libdpkg-perl 1.20.5
ii libemail-address-xs-perl 1.04-1+b2
ii libfile-basedir-perl 0.08-1
ii libfile-find-rule-perl 0.34-1
ii libfont-ttf-perl 1.06-1
ii libhtml-parser-perl 3.72-5
ii libio-async-loop-epoll-perl 0.21-1
ii libio-async-perl 0.77-3
ii libjson-maybexs-perl 1.004002-1
ii liblist-compare-perl 0.53-1
ii liblist-moreutils-perl 0.416-1+b5
ii liblist-utilsby-perl 0.11-1
ii libmoo-perl 2.004000-1
ii libmoox-aliases-perl 0.001006-1
ii libnamespace-clean-perl 0.27-1
ii libpath-tiny-perl 0.114-1
ii libsereal-decoder-perl 4.017+ds-1
ii libsereal-encoder-perl 4.017+ds-1
ii libtext-levenshteinxs-perl 0.03-4+b7
ii libtext-xslate-perl 3.5.8-1
ii libtime-duration-perl 1.21-1
ii libtime-moment-perl 0.44-1+b2
ii libtimedate-perl 2.3300-1
ii libtry-tiny-perl 0.30-1
ii libtype-tiny-perl 1.010002-1
ii libunicode-utf8-perl 0.62-1+b1
ii liburi-perl 1.76-2
ii libxml-libxml-perl 2.0134+dfsg-2
ii libxml-writer-perl 0.625-1
ii libyaml-libyaml-perl 0.82+repack-1
ii man-db 2.9.3-2
ii patchutils 0.4.2-1
ii perl [libdigest-sha-perl] 5.30.3-4
ii t1utils 1.41-4
ii xz-utils 5.2.4-1+b1
Versions of packages lintian recommends:
ii libperlio-gzip-perl 0.19-1+b6
Versions of packages lintian suggests:
pn binutils-multiarch <none>
ii libtext-template-perl 1.59-1
-- no debconf information
--- End Message ---
--- Begin Message ---
Source: lintian
Source-Version: 2.86.0
Done: Chris Lamb <lamby@debian.org>
We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 966368@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Chris Lamb <lamby@debian.org> (supplier of updated lintian package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sat, 01 Aug 2020 14:41:32 +0000
Source: lintian
Architecture: source
Version: 2.86.0
Distribution: unstable
Urgency: medium
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Chris Lamb <lamby@debian.org>
Closes: 905747 966022 966024 966072 966122 966140 966368
Changes:
lintian (2.86.0) unstable; urgency=medium
.
[ Felix Lechner ]
* Revert running each check in a separate process to prevent some file
descriptor regression. (Closes: #966122, #966368)
* Also consider pseudo-headers allowed by DEP-3 when examining patches.
(Closes: #966024)
* Do not issue the patch-not-forwarded-upstream tag when Origin: is
upstream or backport. (Closes: #966140)
* Analyse matching behavior and relative order of globbing patterns in
debian/copyright. (Closes: #905747)
* Rename two similar tags related to Rules-Requires-Root.
* Flag overrides with mismatched context separately from those that are
not used.
* Wait for each lexgrog and man and convert documentation/manual check to
IPC::Run3. (Closes: #966072)
* Salsa setup:
- Set CCACHE_DISABLE in t/bin/build-test-packages; otherwise standard
Salsa CI pipelines will fail.
- Use the Salsa CI team's standard pipeline instead of Lintian's custom
CI setup.
* Remove three obsolete tags from pkg-perl team checks.
.
[ Chris Lamb ]
* Avoid false-positives when matching sensible-utils utilities (eg.
"i3-sensible-pager"). (Closes: #966022)
* Rename send-patch to patch-not-forwarded-upstream; tag names should
ideally be descriptions of the world, not instructions. Update regex to
search for released version numbers in a .changes file.
Checksums-Sha1:
1288164c52e5f695c726cc705c9aa6dfba15b092 4468 lintian_2.86.0.dsc
aea5acb10fa3cf7c5441420f67bafde144d3fb57 1987756 lintian_2.86.0.tar.xz
ccb9d3032e2a413adbbc0552ba89e0dbe97d01cc 18307 lintian_2.86.0_amd64.buildinfo
Checksums-Sha256:
bc9fea1def3aedbfacf407505360a7d4fb3dc6741507a61abc0daf9cba248e01 4468 lintian_2.86.0.dsc
9b6b47cae133f1fab9d68aec1b3ccdcec197756dc9db407e13972ec38f93e5c2 1987756 lintian_2.86.0.tar.xz
d029da1dcf94cb06c3c98a43baede1ed47ce2f75b35f8e99de8f7a32aa6c7094 18307 lintian_2.86.0_amd64.buildinfo
Files:
52feb3b96ce6a506058fda4721156c44 4468 devel optional lintian_2.86.0.dsc
ed13a65bdfd3977d5dc49651b4d65721 1987756 devel optional lintian_2.86.0.tar.xz
1f70b99629b306898b197d87563e454c 18307 devel optional lintian_2.86.0_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAl8lhV0ACgkQHpU+J9Qx
HlgF5hAAqsKvYjRCJAa+sToFa7Sr4gYxHKVJ28j8pYqlpn9JsJJY50maQr7h8nx1
YwYlCCCBLnvbHRv8m2XKXmxNs9e4af1WdXPM2vEypyVf6cud+/NdwUJXStAZ0pkZ
5J3ZomQyZttrOBCztYW5nl0LX4creKBjpbIlHDdxboPVvbMT+AXn7z9K7YY3pRpT
XG80/DZLstO+SrchkRFPmcXrN0cIk26mJnFM/Pzvyq6MSjxm2JcfRoF/DJFwx0UU
uyW4m3LJyUdhjVlAT/6SE0akzdA4vfp4gdm957T6c//E3Jr2c0Kd87bzE8Rdlra3
prW1INvkGdmFD0j1Qv0efKmmnUrmeAJ/LWfO/rnfq9DnpP3DzFZPkqnhakUYeIOH
K0ddKeD+hs15zMRSU2nxUBMVSznziEpc3DiTodedB5cR/TBbYK5sNuxrQdjR6RAI
b182dNieZuGTQv7ToKhyR45pv7Nimn6Jkf+vYeSjKaclVkkPymA12dpPIn1BRT1M
x+WHzP6+Kd/RbJK1LWiZbKlWrYTRPaQEVXtTTYlQPA8v5azAV0MN20BQ8d87VWhr
Q432oL7VpitxBAvXom5lkPYx+OFmOW97UzKkYbWE7fxBxwcYQQ7G5EtRuoSlixnQ
Gl78qotll6ObIbncffO6JIMIDnceIRGNmBAR8GObGpntZ23YfAc=
=18E2
-----END PGP SIGNATURE-----
--- End Message ---