Package: lintian Version: 2.85.0 Severity: important User: de...@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