[Bug 927028] Re: 'apropos' maxes out CPU when run with '/bin/*' as argument

Colin Watson cjwatson at canonical.com
Mon Feb 27 13:31:09 UTC 2012


And here's the other part:

Mon Feb 27 13:26:47 GMT 2012  Colin Watson  <cjwatson at debian.org>

        * src/whatis.c (main): Move locale manpath expansion to ...
          (locale_manpath): ... here (new function).
          (suitable_manpath): New function.
          (do_whatis): If a page contains a slash and is a path to an
          executable on $PATH, then look up its base name only in
          appropriate manual hierarchies.
          (search): Pass current manpath entry to do_whatis.
        * src/tests/whatis-1: New file.
        * src/tests/Makefile.am (ALL_TESTS): Add whatis-1.
        * NEWS: Document this.

(I deliberately made this change only for whatis, and not for apropos.
This is because whatis is documented as taking manual page names as
arguments, while apropos is documented as taking keywords (which are
regular expressions by default but may be in other formats).  Extending
the domain of exact manual page names to include executables that have
associated manual pages seems fairly safe to me, but I don't feel
comfortable with fiddling with the interpretation of the more general
search strings that you give to apropos.)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to man-db in Ubuntu.
https://bugs.launchpad.net/bugs/927028

Title:
  'apropos' maxes out CPU when run with '/bin/*' as argument

Status in “man-db” package in Ubuntu:
  Fix Committed

Bug description:
  When 'apropos' is executed with an argument containing a list of files
  in a directory (e.g., '/bin/*'), it maxes out the CPU for a good long
  while (~40 seconds for /bin/*, about 9.5 minutes for /usr/bin/[a-z]*).

  --------------------------------------------------------------------------------------------------------------------------------------------
  ben at feynman:~$ apropos ~/bin/* & sleep 2; top -b -p $! -d 1 -n 3
  [2] 9671

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7080 2224  928 R   100  0.2   0:02.46 apropos                                             

  
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7012 2160  928 R   101  0.2   0:03.45 apropos                                             

  
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7012 2164  928 R   100  0.2   0:04.44 apropos                                             
  --------------------------------------------------------------------------------------------------------------------------------------------

  ben at feynman:~$ dpkg -S /usr/bin/apropos
  man-db: /usr/bin/apropos

  ben at feynman:~$ lsb_release -rd
  Description:    Ubuntu 11.10
  Release:        11.10

  ben at feynman:~$ apt-cache policy man-db
  man-db:
    Installed: 2.6.0.2-2
    Candidate: 2.6.0.2-2
    Version table:
   *** 2.6.0.2-2 0
          500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main i386 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/man-db/+bug/927028/+subscriptions




More information about the foundations-bugs mailing list