Bug 47796 - man -k hangs with man-1.5i2-0.7x
man -k hangs with man-1.5i2-0.7x
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: man (Show other bugs)
7.1
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Bernhard Rosenkraenzer
Ben Levenson
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-07-07 14:18 EDT by Matthew Saltzman
Modified: 2007-04-18 12:34 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-07-07 14:19:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Matthew Saltzman 2001-07-07 14:18:58 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.3-12 i686)

Description of problem:
After installing man-1.5i2-0.7x update, man -k returns "Nothing
appropriate" for all
queries.  After forcing a run of the cron.daily makewhatis, man -k simply
hangs.

How reproducible:
Always

Steps to Reproduce:
1. Install man-1.5i2-0.7x
2. run makewhatis
3. man -k foo
	

Actual Results:  hang

Expected Results:  report of man pages continaing the string "foo"

Additional info:

Here's an strace:

[mjs@paladin i386]$ strace man -k foo
execve("/usr/bin/man", ["man", "-k", "foo"], [/* 55 vars */]) = 0
uname({sys="Linux", node="paladin", ...}) = 0
brk(0)                                  = 0x8058e08
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40017000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=44089, ...}) = 0
old_mmap(NULL, 44089, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
open("/lib/i686/libc.so.6", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\302"..., 1024)
= 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=5634864, ...}) = 0
old_mmap(NULL, 1242920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
0x40023000
mprotect(0x40149000, 38696, PROT_NONE)  = 0
old_mmap(0x40149000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
0x125000) = 0x40149000
old_mmap(0x4014f000, 14120, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4014f000
close(3)                                = 0
munmap(0x40018000, 44089)               = 0
getpid()                                = 8019
brk(0)                                  = 0x8058e08
brk(0x8058e30)                          = 0x8058e30
brk(0x8059000)                          = 0x8059000
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2601, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40018000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2601
brk(0x805a000)                          = 0x805a000
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
open("/usr/lib/locale/en_US/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap2(NULL, 42, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
getuid32()                              = 500
geteuid32()                             = 500
getegid32()                             = 500
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TIOCGWINSZ, {ws_row=24, ws_col=80, ws_xpixel=560, ws_ypixel=312})
= 0
open("/etc/man.config", O_RDONLY)       = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3914, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x40019000
read(3, "#\n# Generated automatically from"..., 4096) = 3914
brk(0x805e000)                          = 0x805e000
brk(0x8062000)                          = 0x8062000
brk(0x8066000)                          = 0x8066000
brk(0x806a000)                          = 0x806a000
brk(0x806e000)                          = 0x806e000
brk(0x8072000)                          = 0x8072000
brk(0x8076000)                          = 0x8076000
brk(0x807a000)                          = 0x807a000
brk(0x807e000)                          = 0x807e000
brk(0x8082000)                          = 0x8082000
brk(0x8086000)                          = 0x8086000
brk(0x808a000)                          = 0x808a000
brk(0x808e000)                          = 0x808e000
read(3, "", 4096)                       = 0
rt_sigaction(SIGINT, {0x804e8d0, [INT], SA_RESTART|0x4000000}, {SIG_DFL},
8) = 0fork()                                  = 8020
wait4(-1,  

***At this point, it hangs until ^C.****
Comment 1 Bernhard Rosenkraenzer 2001-07-09 06:58:13 EDT
I can't reproduce this on any of the 5 machines I tried.

The strace output isn't much of a help because it doesn't follow the fork() 
command, where the actual problem seems to happen. Maybe you're using some odd 
symlinks that may cause 

[root@zell root]# rpm -q man
man-1.5i2-0.7x
[root@zell root]# man -k foo
Tk_GetScrollInfoObj  (3)  - parse arguments for scrolling commands
Tk_GetScrollInfoObj [GetScroll] (3)  - parse arguments for scrolling commands
Tk_GetScrollInfoObj [Tk_GetScrollInfo] (3)  - parse arguments for scrolling 
commands
Tk_GetScrollInfo [Tk_GetScrollInfoObj] (3) - parse arguments for scrolling 
commands
[root@zell root]#

The strace output isn't much of a help because it doesn't follow the fork() 
command, where the actual problem seems to happen. Maybe you're using some odd 
symlinks that may cause infinite loops?
Does this still happen if you rm -rf /var/cache/man?


Comment 2 Matthew Saltzman 2001-07-09 09:50:12 EDT
OK I removed the man package entirely and reinstalled.  Then I got the "no
relevant pages problem", so I reran makewhatis and now everything is fine.

The only wierd thing in my configuration is that I had man-1.5i2 installed under
6.2 on this machine when I upgraded.  I first noticed the problem after
upgrading and I realized that the man package was not the one from 7.1 (which
was "older").  So I downgraded to the one distributed with 7.1,
and everything worked.  Then I found the upgrade for 7.1 and installed that and
the problem returned.  That's when I filed the bug.

Just one of those flukes, I guess.

Note You need to log in before you can comment on or make changes to this bug.