On Fri, Jan 27, 2012 at 08:51:43PM +0200, Peter Eisentraut wrote:
> sudo checkrestart reports:
> 
> Found 87 processes using old versions of upgraded files
> (57 distinct programs)
> ...
> 
> and then gives the details.
> 
> sudo checkrestart -p on the other hand, runs for 10 minutes, prints
> hundreds of "dpkg-query: no path found matching pattern" lines (bug
> #513189), then finishes with

I've reviewed the use of dpkg-query and, indeed, there were some bugs in the
code:

  1.- the call to dpkg-query was run as a subprocess and the script did not
      wait for the process to stop, so the file was found *not* to be 
      a part of a package
  2.- the script was making dpkg-query calls for all the instances of a file
      even if the file appeared more than once (i.e. a removed library that many
      processes were using) which leads it to be *very* CPU intensive if you've
      done a full upgrade which includes many core libraries (i.e.
      used by many processes)

I have submitted a fix to our  GIT repository [1]. Once we confirm that this
fix is OK and does not introduced any new bugs we will upload it.

Regards

Javier


[1]
http://anonscm.debian.org/gitweb/?p=collab-maint/debian-goodies.git;a=blobdiff;f=checkrestart;h=718577a21f6dc49514fe0f6916e821ff075eae76;hp=1e1f9b894b0c93bb47ad9ea4684f051715193c52;hb=2a2b41299b1177f42e7765a44614b03b639c51bc;hpb=85d9cac6e96e4de024ae5083b01274d714f258e8

   

Attachment: signature.asc
Description: Digital signature

Reply via email to