Hey, release 1.13.1, running makewhatis /usr/share/man I get: % gdb ./makewhatis GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "amd64-marcel-freebsd"... (gdb) r /usr/share/man Starting program: /home/uqs/ports/textproc/mdocml/work/mdocml-1.13.1/makewhatis /usr/share/man [New LWP 101640] [New Thread 801806400 (LWP 101640/makewhatis)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 801806400 (LWP 101640/makewhatis)] 0x0000000000410ba6 in post_it (mdoc=0x801819200) at mdoc_validate.c:1209 1209 lt = nbl->norm->Bl.type; Current language: auto; currently minimal (gdb) bt #0 0x0000000000410ba6 in post_it (mdoc=0x801819200) at mdoc_validate.c:1209 #1 0x000000000040e488 in rew_last (mdoc=0x801819200, to=0x802961240) at mdoc_macro.c:289 #2 0x000000000040e635 in rew_sub (t=, mdoc=0x801819200, tok=, line=, ppos=) at mdoc_macro.c:589 #3 0x000000000040c604 in blk_full (mdoc=0x801819200, tok=MDOC_Sh, line=610, ppos=1, pos=0x7fffffffd9a0, buf=0x80251e200 ".Sh RETURN VALUES") at mdoc_macro.c:1059 #4 0x000000000040a7a2 in mdoc_parseln (mdoc=0x801819200, ln=610, buf=0x80251e200 ".Sh RETURN VALUES", offs=1) at mdoc.c:886 #5 0x00000000004188fc in mparse_buf_r (curp=0x801817080, start=1) at read.c:565 #6 0x0000000000417da5 in mparse_parse_buffer (curp=0x801817080, file=) at read.c:719 #7 0x00000000004180e0 in mparse_readfd (curp=0x801817080, fd=, file=0x801b23100 "man9/callout_reset_on.9.gz") at read.c:765 #8 0x00000000004040ea in mpages_merge (mc=0x80181b058, mp=0x801817080) at mandocdb.c:1158 #9 0x0000000000403128 in main (argc=, argv=) at mandocdb.c:515 (gdb) f 0 #0 0x0000000000410ba6 in post_it (mdoc=0x801819200) at mdoc_validate.c:1209 1209 lt = nbl->norm->Bl.type; (gdb) l 1204 nit = mdoc->last; 1205 if (MDOC_BLOCK != nit->type) 1206 return(1); 1207 1208 nbl = nit->parent->parent; 1209 lt = nbl->norm->Bl.type; 1210 1211 switch (lt) { 1212 case LIST_tag: 1213 /* FALLTHROUGH */ (gdb) p *nbl $1 = {parent = 0x80183e840, child = 0x802961100, last = 0x0, next = 0x0, prev = 0x8024177e0, nchild = 2, line = 107, pos = 1, lastline = 378, tok = MDOC_Sh, flags = 24, type = MDOC_BLOCK, sec = SEC_DESCRIPTION, norm = 0x0, prev_font = 0x0, args = 0x0, pending = 0x0, head = 0x802961100, body = 0x802961240, tail = 0x0, string = 0x0, span = 0x0, eqn = 0x0, end = ENDBODY_NOT} (gdb) Moving callout_reset_on.9 out of the way just makes it die at some other section 9 manual. Good news however is that if I remove man9 altogether it seemingly runs to completion. I'll attach the man-page in question, hoping you'll be able to reproduce. Thanks! Cheers, Uli