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

Reply via email to