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

Bug#878575: lintian: Unreliable signal handling - causes left-over trash on lindsay.d.o



Package: lintian
Version: 2.5.54
Severity: normal

Hi,

Lintian is unreliable at handling signals.  This causes it to fail to
clean up in some cases on lindsay.d.o (and other archive-wide runs).


Example from the log file:
"""
[2017-10-14T03:34:39]: Updating harness state cache
[2017-10-14T03:34:55]: Running Lintian (round 4/16) ...
[2017-10-14T03:34:55]:  - Range: GROUP:2vcard/0.6-1 ... GROUP:zeroconf-ioslave/4:16.08.0-1
[2017-10-14T03:34:55]: New lintian log at /srv/lintian.debian.org/logs/lintian.log-AL0DXxL
[2017-10-14T03:37:08]:   [lintian] processed 2vcard/0.6-1 successfully (time: 1.690s)
[2017-10-14T03:37:09]:   [lintian] processed abi-tracker/1.9-1 successfully (time: 1.062s)
[...]
[2017-10-14T03:55:50]:   [lintian] processed haskell-attoparsec-enumerator/0.3.4-5 successfully (time: 8.084s)
[2017-10-14T03:55:58]:   [lintian] processed haskell-data-default-instances-old-locale/0.0.1-7 successfully (time: 8.038s)
[2017-10-14T03:56:06]:   [lintian] processed haskell-hjsmin/0.2.0.2-3 successfully (time: 8.523s)
[2017-10-14T03:56:14]:   [lintian] processed haskell-html/1.0.1.2-13 successfully (time: 8.155s)
[2017-10-14T03:56:21]: Received SIGALRM, sending SIGTERM to 7889 [1/3]
[2017-10-14T03:56:21]: Scheduling another alarm in 5 minutes from now...
[2017-10-14T03:56:22]:   [lintian] error processing haskell-integer-logarithms/1.0.2-1 (time: 7.813s)
[2017-10-14T03:56:30]:   [lintian] processed haskell-knob/0.1.1-10 successfully (time: 7.994s)
[2017-10-14T03:56:39]:   [lintian] processed haskell-megaparsec/5.3.1-1 successfully (time: 9.336s)
[2017-10-14T03:56:47]:   [lintian] processed haskell-pipes-bytestring/2.1.6-1 successfully (time: 8.006s)
[...]
[2017-10-14T04:00:37]:   [lintian] processed jts/1.14+ds-2 successfully (time: 8.919s)
[2017-10-14T04:00:39]:   [lintian] processed jzlib/1.1.3-1 successfully (time: 2.147s)
[2017-10-14T04:01:21]: Received SIGALRM, sending SIGTERM to 7889 [2/3]
[2017-10-14T04:01:21]: Scheduling another alarm in 5 minutes from now...
[2017-10-14T04:01:24]: Lintian terminated by signal: 15
[2017-10-14T04:01:24]:  - skipping the rest of the worklist
"""

This log suggests that lintian continued despite having received a
signal.  Furthermore, there is a left over temporarily lab on
lindsay.d.o having a timestamp close to start of the lintian run:

"""
$ ls -ld /srv/lintian.debian.org/scratch/temp-lintian-lab-rCsPnScQ8t
drwx------ 4 lintian lintian 4096 Oct 14 03:34 /srv/lintian.debian.org/scratch/temp-lintian-lab-rCsPnScQ8t
"""

My /guess/ is that when lintian received the first signal, the signal
handler then disabled itself and threw a "Interrupted" error.
Something then catches the error and flags the check / package as
"uncheckable" but continues on.  When the second signal arrived, the
default signal handler terminated with lintian not cleaning up after
itself.


Thanks,
~Niels


Reply to: