[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mandb gets stuck!



on Thu, Aug 30, 2001 at 07:13:22PM -0400, Eugene Tyurin (eugene_tyurin@yahoo.com) wrote:
> 
> Ok, man-db is version 2.3.19-5
> 
> mandb -d -c >>/tmp/mandb.log 2>>/tmp/mandb.log seems to get stuck
> at this point:
> 
> free_hashtab: 2090 entries, 1302 (62%) unique
> done.
> catpath: /var/cache/man, manpath: /usr/share/man
> Testing for existence: /usr/share/man/man1/strace.1
> Testing for existence: /usr/share/man/man8/mandb.8
> create_db(/usr/local/man): /var/cache/man/oldlocal/3684
> Testing /usr/local/man for new files
> catpath: /var/cache/man/oldlocal, manpath: /usr/local/man
> 
> strace cycles endlessly through these lines:
> 
> open("/usr/X11R6/man/man3", O_RDONLY|O_NONBLOCK|0x18000) = 4
> fstat64(0x4, 0xbffff50c)                = 0
> shmat(4, 0xbffff7b4, 0x2ptrace: umoven: Input/output error
> )               = ?
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4072
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4072
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4088
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4072
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4064
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4080
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4088
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4088
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4080
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 4056
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 3632
> ipc_subcall(0x4, 0x805e928, 0x1000, 0)  = 0
> close(4)
> 
> Sometimes, these lines appears:
> 
> pread(3, "\0\0\0\0\0\0\0\0008\0\0\0\"\0\0\0,\0\0\0004\0$\7\1\5\354"..., 4096, 229376) = 4096
> 
> pread(3, "\0\0\0\0\0\0\0\0&\0\0\0,\0\0\0;\0\0\0<\0\324\5\1\5\350"..., 4096, 155648) = 4096
> 
> /usr/X11R6/man/man3 contains 989 manpages - no symlinks or anything funny.

Any funny-looking files in there -- particularly something with special
characters in it?

I had problems with slocate on a box a few months back, in which I was
referencing sources with apt-cdrom.  One of my source files was
clobbering slocate such that my locate database wasn't being created
(major peeve).  Had to delete the offending files.

My suggestion:

   - rename /usr/X11R6/man/man3 to /usr/X11/man/man3-bak

   - create a directory /usr/X11R6/man/man3

   - create symlinks for half the files in man3-bak:

       $ cd /usr/X11R6/man/man3
       $ for file in $( ls ../man3-bak/* | head -495 ); 
       do 
	   ln -s "$file" "$( basename file )"
       done

   - re-run mandb.  If you get the problem, remove half the files and
     try again.  If you don't get the problem, replace the 'head' above
     with 'tail', and see if it appears.

   - If you can't repeat the problem, then we've found something that
     works.

...and tell us what you find out.

Cheers.

-- 
Karsten M. Self <kmself@ix.netcom.com>          http://kmself.home.netcom.com/
 What part of "Gestalt" don't you understand?             There is no K5 cabal
  http://gestalt-system.sourceforge.net/               http://www.kuro5hin.org
   Free Dmitry! Boycott Adobe! Repeal the DMCA!    http://www.freesklyarov.org
Geek for Hire                        http://kmself.home.netcom.com/resume.html

Attachment: pgpG2eOOg5pJO.pgp
Description: PGP signature


Reply to: