[Bug 1001189] Re: 'man' command fails with lseek error opening cross-architecture index.db file (on network share)

Colin Watson cjwatson at canonical.com
Mon Jun 18 03:28:22 UTC 2012


Mon Jun 18 04:20:41 BST 2012  Colin Watson  <cjwatson at debian.org>

        Avoid fatal errors when opening a 64-bit GDBM database from a 32-bit
        process (Ubuntu bug #1001189).

        * libdb/db_gdbm.c (trap_error): New function.
          (man_gdbm_open_wrapper): Rearrange interface to call gdbm_open
          rather than taking its return value as an argument.  Fetch a test
          value from the database after opening it, inside a setjmp/longjmp
          guard to prevent GDBM from exiting.
        * include/mydbm.h (man_gdbm_open_wrapper): Update prototype.
          (MYDBM_CTRWOPEN, MYDBM_CRWOPEN, MYDBM_RWOPEN, MYDBM_RDOPEN):
          Update man_gdbm_open_wrapper calls, since it now calls gdbm_open
          itself.
        * NEWS: Document this.

It sounds like it might not be a bad idea to backport this to 12.04 as
well, once this has landed in 12.10.

** Changed in: man-db (Ubuntu)
       Status: Triaged => Fix Committed

** Changed in: man-db (Ubuntu)
     Assignee: (unassigned) => Colin Watson (cjwatson)

** Also affects: gdbm (Ubuntu Precise)
   Importance: Undecided
       Status: New

** Also affects: man-db (Ubuntu Precise)
   Importance: Undecided
       Status: New

** No longer affects: gdbm (Ubuntu Precise)

** Changed in: man-db (Ubuntu Precise)
       Status: New => Triaged

** Changed in: man-db (Ubuntu Precise)
   Importance: Undecided => High

** Changed in: gdbm (Ubuntu)
       Status: Confirmed => Triaged

** Changed in: gdbm (Ubuntu)
   Importance: Undecided => Medium

-- 
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/1001189

Title:
  'man' command fails with lseek error opening cross-architecture
  index.db file (on network share)

Status in “gdbm” package in Ubuntu:
  Triaged
Status in “man-db” package in Ubuntu:
  Fix Committed
Status in “man-db” source package in Precise:
  Triaged

Bug description:
  When trying to look up the on-line documentation using the 'man'
  command it fails on 12.04 with lseek error. For example:

  $ man resolvconf
  gdbm fatal: lseek error

  This lseek error applies to other requests as well (e.g. ls, fdisk,
  etc). System information is:

  $ lsb_release -rd
  Description:	Ubuntu 12.04 LTS
  Release:	12.04

  apt-cache policy man
  man:
    Installed: (none)
    Candidate: (none)
    Version table:

  However, it is installed since it runs as a command, and I find:

  $ which man
  /usr/bin/man

  $ man --version
  man 2.6.1

  What I expect is to read the manual page appropriate to the
  command/program, and not get a software error.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdbm/+bug/1001189/+subscriptions




More information about the foundations-bugs mailing list