Bug#2637: unstable/man loops building index with empty man pages
Package: man
Version: 2.3.10-10
Maintainer: Alvar Bray <alvar@meiko.co.uk>
Given the man page /usr/cygnus/cns5/man/man8/kadmind_old.8:
.\" this should not be empty
(ie. only one line, and none of the normal man tags...) doing a
man -M /usr/cygnus/cns5/man ftp (ie. something else there) gives:
Updating index cache for path `/usr/cygnus/cns5/man'. Wait...
and you wait forever. Turns out that the relevant bit of strace is:
stat("man8", {st_mode=S_IFDIR|0775, st_size=1024, ...}) = 0
open("man8", O_RDONLY) = 6
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
getdents(6, [total 24 dents], 4096) = 504
(more elided)
read(5, "kadmin5\0008\t8\t828237696\tA\t-"..., 87) = 87
lstat("/usr/cygnus/cns5/man/man8/kadmind_old.8", {st_mode=S_IFREG|0644, st_size=29, ...}) = 0
open("/usr/cygnus/cns5/man/man8/kadmind_old.8", O_RDONLY) = 7
fstat(7, {st_mode=S_IFREG|0644, st_size=29, ...}) = 0
brk(0x80c8000) = 0x80c8000
read(7, ".\\\" this should not be empty\n"..., 4096) = 29
read(7, "", 4096) = 0
read(7, "", 4096) = 0
read(7, "", 4096) = 0
and it spins forever around the read.
I'll look into this a little more closely, it's probably a bug in the
lexer, but if there's an obvious fix, stop me :-)
Reply to: