[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#926799: marked as done (lintian: hangs when dpkg-source fails)



Your message dated Sat, 10 Aug 2019 15:15:28 -0700
with message-id <CAFHYt55DqDG7cmNeiH-SgJ=j9zoNKiOm6B4=NOGKqwppz0uWVg@mail.gmail.com>
and subject line Lintian no longer hangs but exits gracefully, and provides a helpful error message
has caused the Debian Bug report #926799,
regarding lintian: hangs when dpkg-source fails
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
926799: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926799
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: lintian
Version: 2.12.0~bpo9+1
Severity: normal

Hi,

While processing old packages, I noticed that lintian hangs on some of
them when dpkg-source fails to extract them.

Example, using:
http://snapshot.debian.org/archive/debian/20130509T215232Z/pool/main/u/usbredir/usbredir_0.6-2.dsc


$ lintian usbredir_0.6-2.dsc 
dpkg-source: error: expected ^--- in line 3 of diff '/tmp/temp-lintian-lab-vcUvBQH1iD/pool/u/usbredir/usbredir_0.6-2_source/unpacked/debian/patches/update-usbredirserver-whatis-entry.diff'
internal error: dpkg-source -x failed with status  2 at /usr/share/perl5/Lintian/Util.pm line 1177.
	Lintian::Util::internal_error("dpkg-source -x failed with status ", 2) called at /usr/share/lintian/collection/unpacked line 74
	Lintian::coll::unpacked::collect("usbredir", "source", "/tmp/temp-lintian-lab-vcUvBQH1iD/pool/u/usbredir/usbredir_0.6"...) called at /usr/share/perl5/Lintian/CollScript.pm line 242
	Lintian::CollScript::collect(Lintian::CollScript=HASH(0x55d35d11c150), "usbredir", "source", "/tmp/temp-lintian-lab-vcUvBQH1iD/pool/u/usbredir/usbredir_0.6"...) called at /usr/share/perl5/Lintian/Unpacker.pm line 412
	eval {...} called at /usr/share/perl5/Lintian/Unpacker.pm line 412
	Lintian::Unpacker::__ANON__() called at /usr/share/perl5/IO/Async/Loop.pm line 1943
	eval {...} called at /usr/share/perl5/IO/Async/Loop.pm line 1943
	IO::Async::Loop::fork(IO::Async::Loop::Poll=HASH(0x55d35cb387b0), "code", CODE(0x55d35e922518), "on_exit", CODE(0x55d35e926f20)) called at /usr/share/perl5/Lintian/Unpacker.pm line 461
	eval {...} called at /usr/share/perl5/Lintian/Unpacker.pm line 385
	Lintian::Unpacker::__ANON__("unpacked-source:usbredir/0.6-2", Lintian::CollScript=HASH(0x55d35d11c150), Lintian::Lab::Entry=HASH(0x55d35c8280b0), Lintian::DepMap::Properties=HASH(0x55d35e8e05d8)) called at /usr/share/perl5/Lintian/Unpacker.pm line 476
	Lintian::Unpacker::process_tasks(Lintian::Unpacker=HASH(0x55d35d1108d8), HASH(0x55d35c4e18b0)) called at /usr/share/lintian/commands/lintian.pm line 957
	main::unpack_group("usbredir/0.6-2", Lintian::ProcessableGroup=HASH(0x55d35c827f48)) called at /usr/share/lintian/commands/lintian.pm line 730
	main::__ANON__() called at /usr/share/lintian/commands/lintian.pm line 1658
	main::timed_task(CODE(0x55d35e9003b0)) called at /usr/share/lintian/commands/lintian.pm line 733
	main::__ANON__() called at /usr/share/lintian/commands/lintian.pm line 1658
	main::timed_task(CODE(0x55d35e8f3fe8)) called at /usr/share/lintian/commands/lintian.pm line 762
	main::main() called at /usr/bin/lintian line 46
	eval {...} called at /usr/bin/lintian line 46
	main::__ANON__("/usr/share/lintian/commands/lintian.pm") called at /usr/bin/lintian line 114
	dplint::run_tool("/usr/bin/lintian", "lintian") called at /usr/bin/lintian line 290
	dplint::main() called at /usr/bin/lintian line 359
warning: collect info unpacked about package usbredir failed (512)
warning: skipping check of source package usbredir


I would expect lintian to exit with an error instead.

A list of packages for which it hang:

acpica-unix_20140424-1
cb2bib_1.4.4-3
cnews_cr.g7-37
cnews_cr.g7-38
cnews_cr.g7-39
cnews_cr.g7-40
cnews_cr.g7-40.1
cnews_cr.g7-40.2
cnews_cr.g7-40.4
dwm_6.0-3
dwm_6.0-5
dynare_4.2.1-2
flite_1.4-release-8
foremost_1.5.7-4
fslint_2.16-1
getfem++_4.1.1-10
getfem++_4.1.1-9
getfem++_4.1.1+dfsg1-11
getfem++_4.2+dfsg1-1
grpn_1.1.2-3.1
herculesstudio_1.3.0-2
hfsutils_3.2.6-12
icedove_3.0.11-2
katoob_0.5.9.1-3
katoob_0.5.9.1-4
katoob_0.5.9.1-4.1
kvpm_0.8.6-2
kvpm_0.8.6-3
lazarus_1.2~rc2+dfsg-1
lldpad_0.9.43+git20111215.c0498b-1
lldpad_0.9.44-1
lldpad_0.9.46-1
lldpad_0.9.46-2
lurker_2.3-4
lurker_2.3-4.1
lutefisk_1.0.7+dfsg-1
moodle_1.9.9.dfsg2-4
moodle_1.9.9.dfsg2-5
ncmpcpp_0.5.5-1
nsnake_1.5-1
ompl_0.13.0+git20130920.01d0ca4-1
ompl_0.14.1-1
opencryptoki_2.3.1+dfsg-1
openms_1.9.0-4
openms_1.9.0-4.1
openoffice-python_1:0.1+20110129-1
piwigo_2.3.1-1
puppet_2.7.17-1
python-virtualenv_1.7-1
python-webob_1.2.3-4
qemu_1.7.0+dfsg-5
ruby-saml_1.0.0-1
ruby-saml_1.1.2-1
ruby-saml_1.3.0-1
ruby-saml_1.4.1-1
ruby-saml_1.7.2-1
rust-roxmltree_0.4.1-2
samba_2:3.6.16-1
samba_2:3.6.6-2
samba_2:3.6.6-3
samba_2:3.6.6-5
spice_0.12.4-0nocelt1
spice_0.12.4-0nocelt2
spice-vdagent_0.14.0-1
spice-vdagent_0.15.0-1
tac-plus_F4.0.4.alpha-12
tac-plus_F4.0.4.alpha-12.1
u-boot_2014.04+dfsg1-1
u-boot_2014.07+dfsg1-2
u-boot_2014.10+dfsg1-2.1
usbredir_0.4.3-2
usbredir_0.6-2
widelands_build10-1
widelands_build9-6
widelands_build9-7
widelands_build9half-1
widelands_build9half-10
widelands_build9half-9

- Lucas


-- System Information:
Debian Release: 9.8
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (400, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: armhf

Kernel: Linux 4.18.0-0.bpo.1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages lintian depends on:
ii  binutils                          2.28-5
ii  bzip2                             1.0.6-8.1
ii  diffstat                          1.61-1+b1
ii  dpkg                              1.18.25
ii  dpkg-dev                          1.18.25
ii  file                              1:5.30-1+deb9u2
ii  gettext                           0.19.8.1-2
ii  gnupg [gpg]                       2.1.18-8~deb9u4
ii  intltool-debian                   0.35.0+20060710.4
ii  libapt-pkg-perl                   0.1.32
ii  libarchive-zip-perl               1.59-1+deb9u1
ii  libcapture-tiny-perl              0.44-1
ii  libcgi-pm-perl                    4.35-1
ii  libclass-accessor-perl            0.34-1
ii  libclone-perl                     0.38-2+b1
ii  libdpkg-perl                      1.18.25
ii  libemail-valid-perl               1.202-1
ii  libfile-basedir-perl              0.07-1
ii  libio-async-perl                  0.71-1
ii  libipc-run-perl                   0.94-1+deb9u1
ii  liblist-moreutils-perl            0.416-1+b1
ii  libparse-debianchangelog-perl     1.2.0-12
ii  libpath-tiny-perl                 0.100-1
ii  libperl5.24 [libdigest-sha-perl]  5.24.1-3+deb9u5
ii  libtext-levenshtein-perl          0.13-1
ii  libtimedate-perl                  2.3000-2
ii  libtry-tiny-perl                  0.28-1
ii  liburi-perl                       1.71-1
ii  libxml-simple-perl                2.22-1
ii  libyaml-libyaml-perl              0.63-2
ii  man-db                            2.7.6.1-2
ii  patchutils                        0.3.4-2
ii  perl                              5.24.1-3+deb9u5
ii  t1utils                           1.39-2
ii  xz-utils                          5.2.2-1.2+b1

Versions of packages lintian recommends:
ii  libperlio-gzip-perl  0.19-1+b2

Versions of packages lintian suggests:
pn  binutils-multiarch     <none>
ii  libhtml-parser-perl    3.72-3
ii  libtext-template-perl  1.46-1

-- no debconf information

--- End Message ---
--- Begin Message ---
Hi Lucas,

We recently made some changes to Lintian's collections code, which
included the unpacking of sources via 'dpkg-source -x'. I think the
relevant commit was:

    https://salsa.debian.org/lintian/lintian/commit/0ece177f931c40009374f70b274edae6f6fc6985

Lintian's error handling, which was your primary concern, may have
improved when we switched the process management to IO::Async for that
part of Lintian:

    https://salsa.debian.org/lintian/lintian/blob/master/collection/unpacked#L89-93

As the log shows, the problem is now gone:

    $ dget http://snapshot.debian.org/archive/debian/20130509T215232Z/pool/main/u/usbredir/usbredir_0.6-2.dsc
    $ lintian usbredir_0.6-2.dsc
    Non-zero status 2 from dpkg-source:
    dpkg-source: error: expected ^--- in line 3 of diff
'/tmp/temp-lintian-lab-qtdC1RlDjw/pool/u/usbredir/usbredir_0.6-2_source/unpacked/debian/patches/update-usbredirserver-whatis-entry.diff'
    warning: collect info unpacked about package usbredir failed (512)
    warning: skipping check of source package usbredir
    $ echo $?
    2
    $ lintian --version
    Lintian v2.17.0

I am no longer able to reproduce your findings and will therefore close the bug.

Kind regards,
Felix Lechner

--- End Message ---

Reply to: