Package: needrestart
Version: 1.2-8+deb8u1
Severity: normal
Tags: upstream
Dear Maintainer,
I have installed needrestart on a number of jessie systems.
Yesterday, I upgraded a machine from wheezy to jessie,
This system acts as a buildmaster.
and asoon asI instaled needrestart, I get the following warnings after
each run of apt/aptitude::
=================
[Core] Using UI 'NeedRestart::UI::stdio'...
[main] detected systemd
[Core] #1537 is a NeedRestart::Interp::Python
Unknown option: -
Unknown option: n
Unknown option: o
Unknown option: _
Unknown option: a
Unknown option: e
Unknown option: -
Unknown option: l
Unknown option: o
Unknown option: g
Unknown option: f
Unknown option: l
Unknown option: e
Unknown option: =
Unknown option: w
Unknown option: .
Unknown option: l
Unknown option: o
Unknown option: g
Unknown option: -
Unknown option: p
Unknown option: y
Unknown option: o
Unknown option: n
Unknown option: =
Unknown option: b
Unknown option: l
Unknown option: b
Unknown option: o
Unknown option: .
Unknown option: a
[Python] #1537: could not get a source file, skipping
=================
The 1537 processus is the twisted daemon (buildmaster)
fp2x@drbuildbot:~$ ps -edf | fgrep 1537
buildbot 1537 1 0 10:24 ? 00:00:05 /usr/bin/python -c from
twisted.scripts import twistd; twistd.run() --no_save --logfile=twistd.log
--python=buildbot.tac
fp2x 13192 10967 0 17:34 pts/1 00:00:00 grep -F --color=auto 1537
fp2x@drbuildbot:~$ cat /proc/1537/cmdline | tr '\0' '\n'
/usr/bin/python
-c [1]
from twisted.scripts import twistd; twistd.run() [2]
--no_save [3]
--logfile=twistd.log [4]
--python=buildbot.tac [5]
Extract of /usr/share/perl5/NeedRestart/Interp/Python.pm
104 # get original ARGV
105 (my $bin, local @ARGV) = nr_parse_cmd($pid);
106 # eat Python's command line options
107 my %opts;
108 getopts('BdEhim:ORQ:sStuvVW:x3?c:', \%opts);
109 # extract source file
110 unless($#ARGV > -1) {
111 chdir($cwd);
112 print STDERR "$LOGPREF #$pid: could not get a source file,
skipping\n" if($self->{debug});
113 return ();
114 }
115 my $src = $ARGV[0];
We see that the getops() in line 108 emits a warning for each letter in
lines
[3] through [5] of ARGV which is not in the 'BdEhim:ORQ:sStuvVW:x3?c: set
This parsing of a python command line is wrong. getopts() should be
applied
only to the part of ARGV which is before the '-c' option.
The [3-[5] parameters are interpreted by the python twited daemon
instance.
I am not at ease enough with perl programming to provide a patch but the
logic is
Search backwards the (python) command line (argv) if there is a '-c'
option.
If the '-c' option is found, please ignore all the following tokens, and
thre is no hope to detect a source file.
IMHO, it is not a packagning bug, and it can affect a number of systems.
-- Package-specific info:
needrestart output:
Running kernel seems to be up-to-date.
No services need to be restarted.
checkrestart output:
-- System Information:
Debian Release: 8.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages needrestart depends on:
ii dpkg 1.17.26
ii libmodule-find-perl 0.12-1
ii libmodule-scandeps-perl 1.16-1
ii libproc-processtable-perl 0.51-1
ii libsort-naturally-perl 1.03-1
ii libterm-readkey-perl 2.32-1+b1
ii perl 5.20.2-3+deb8u4
needrestart recommends no packages.
needrestart suggests no packages.
-- no debconf information
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
---
F. Petitjean
Bureau Veritas
Département Recherche, le département de l'excellence technique
Fier d'être depuis 40 ans au service de Bureau Veritas Branche Marine
Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. (R. Devos)
This message contains confidential information.
To know more, please click on the following link:
http://disclaimer.bureauveritas.com