NetBSD-Bugs archive

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

bin/47448: makemandb(8) segfaults on certain manpages



>Number:         47448
>Category:       bin
>Synopsis:       makemandb(8) segfaults on certain manpages
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 15 03:00:01 +0000 2013
>Originator:     Jeff Woodall
>Release:        6.0.1/i386
>Organization:
>Environment:
NetBSD ituner.sleepy.cat 6.0.1 NetBSD 6.0.1 (GENERIC) i386
>Description:
The makemandb(8) tool crashes when it encounters certain types of man pages, 
usually those of programs outside of the pkgsrc system. For example, here is 
the gdb(1) output when running makemandb(8) just on /usr/local/man which 
contains the AT&T ksh93 shell man page sh.1:

--
thinkctr# gdb -q /usr/sbin/makemandb

Reading symbols from /usr/sbin/makemandb...\   
  (no debugging symbols found)...done.
(gdb) run -C /usr/local/etc/man-local.conf -v          

Building temporary file cache
Parsing: /usr/local/man/man1/sh.1
                           
Program received signal SIGSEGV, Segmentation fault.

0x0804adc4 in pman_sh ()                              
(gdb) kill inferior 1                     
(gdb) quit
--

Note that the /usr/local/man/man1/sh.1 does render with some errors
using mandoc(1) and nearly error-free with 'groff -man -Tascii'.  Attempts at 
simply tweaking /etc/man.conf to use groff(1) still segfault; makemandb(8) 
isn't handling formatter errors gracefully.
>How-To-Repeat:
Build ksh93 as a local package and install the man pages under /usr/local/man , 
then run makemandb with standard man.conf file.
>Fix:
Partial work-around is to comment out references to /usr/local/man in 
/etc/man.conf.  The probably also occurs with certain man pages in older pkgsrc 
versions, ie. ../man/man1/mksh.1 (an OpenBSD man page).



Home | Main Index | Thread Index | Old Index