'man' command fails with lseek error opening cross-architecture index.db file (on network share)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gdbm (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
man-db (Ubuntu) |
Fix Released
|
High
|
Colin Watson | ||
Precise |
Fix Released
|
High
|
Colin Watson |
Bug Description
[Impact] Sharing a directory containing manual page databases between 32-bit and 64-bit systems can cause man to crash.
[Test Case] Configure a local manual page hierarchy (in ~/.manpath or otherwise), containing a single page. Run mandb over it from a 64-bit environment. Request that page using man from a 32-bit environment.
[Regression Potential] This code has been in 12.10 and Debian for quite a while, so I think it's pretty safe. If it fails, it'll be fairly obvious from routine use of man and mandb.
Original report follows:
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.
affects: | ubuntu → man-db (Ubuntu) |
summary: |
- 'man' command fails with lseek error + 'man' command fails with lseek error opening cross-architecture index.db + file (on network share) |
Changed in gdbm (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
Changed in man-db (Ubuntu Precise): | |
status: | Triaged → In Progress |
assignee: | nobody → Colin Watson (cjwatson) |
milestone: | none → ubuntu-12.04.2 |
Thanks for the package identification, result is:
$ apt-cache policy man-db gb.archive. ubuntu. com/ubuntu/ precise/main i386 Packages dpkg/status
man-db:
Installed: 2.6.1-2
Candidate: 2.6.1-2
Version table:
*** 2.6.1-2 0
500 http://
100 /var/lib/
It seems to be a permissions issue, in that if I su to root (we have a root account enabled on this machine) it works, and if I su to a local user it also works, but not with the NIS log-in identity.
So there seems to be two issues here:
(1) Why can't a NIS account holder access the man pages?
(2) Why, in the event it can't access them, does it not give a more helpful message to say what went wrong?