Hi Ingo,

I have a very old OpenBSD/amd64 installation has been getting upgraded
since probably the very first amd64 release. The wonderful side effect of
this is I have an incredible amount of junk lying around. So, today after
upgrading to 5.8 I ran:

% makewhatis /usr/share/man
assertion "n->parent->type == ROFFT_BLOCK" failed: file
"/usr/src/usr.bin/mandoc/roff.c", line 1056, function "roff_node_append"

This looked awesome enough to prompt me looking. After a debug build I got
the stack trace (side note: it would be awesome if I could easily get the
debug versions of the release more easily than building from source).

(gdb) where
#0  0x00001a6490dbb90a in kill () at <stdin>:2
#1  0x00001a6490df5b19 in abort () at /usr/src/lib/libc/stdlib/abort.c:53
#2  0x00001a6490d6f004 in __assert2 (file=Variable "file" is not available.
) at /usr/src/lib/libc/gen/assert.c:52
#3  0x00001a61cc81ecf6 in roff_node_append (man=Variable "man" is not
available.
) at /usr/src/usr.bin/mandoc/roff.c:1056
#4  0x00001a61cc81ee0c in roff_body_alloc (man=0x1a63cf7ce900,
line=Variable "line" is not available.
)
    at /usr/src/usr.bin/mandoc/roff.c:1137
#5  0x00001a61cc82407a in blk_full (mdoc=0x1a63cf7ce900, tok=13, line=1940,
ppos=1,
    pos=0x7f7ffffbef24, buf=0x1a6417031400 ".It Li") at
/usr/src/usr.bin/mandoc/mdoc_macro.c:1102
#6  0x00001a61cc825064 in mdoc_parseln (mdoc=0x1a63cf7ce900, ln=1940,
buf=0x1a6417031400 ".It Li",
    offs=1) at /usr/src/usr.bin/mandoc/mdoc.c:416
#7  0x00001a61cc81a532 in mparse_buf_r (curp=0x1a63f65f6180, blk=
      {buf = 0x1a6452826000 ".\\\"\t$OpenBSD: mdoc.samples.7,v 1.91
2011/07/07 20:24:12 jmc Exp $\n.\\\"\t$NetBSD: mdoc.samples.7,v 1.5
1996/04/03 20:17:34 jtc Exp $\n.\\\"\n.\\\" Copyright (c) 1990,
1993\n.\\\"\tThe Regents of the University of "..., sz = 81212}, i=43922,
start=1)
    at /usr/src/usr.bin/mandoc/read.c:583
#8  0x00001a61cc8199e8 in mparse_readfd (curp=0x1a63f65f6180, fd=9,
    file=0x1a6455df3800 "man7/mandoc.samples.7") at
/usr/src/usr.bin/mandoc/read.c:726
#9  0x00001a61cc847ad3 in mpages_merge (mp=0x1a63f65f6180) at
/usr/src/usr.bin/mandoc/mandocdb.c:1133
#10 0x00001a61cc848870 in mandocdb (argc=1, argv=0x7f7ffffbfef0)
    at /usr/src/usr.bin/mandoc/mandocdb.c:520
#11 0x00001a61cc82c754 in main (argc=2, argv=0x7f7ffffbfee8) at
/usr/src/usr.bin/mandoc/main.c:142

Look what I got here, an awesome file from 2011! This one in particular:
-r--r--r--  2 root  bin  81212 Aug 17  2011
/usr/share/man/man7/mandoc.samples.7

Diff says the file is identical to that which was removed from the tree
over 4 years ago, but in case this stack trace is an interesting
reproduction case, you know where to find the input:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/src/share/man/man7/Attic/mdoc.samples.7?rev=1.91

Thanks
Greg
--
nest.cx is Gmail hosted, use PGP for anything private. Key:
http://goo.gl/6dMsr
Fingerprint: 5E2B 2D0E 1E03 2046 BEC3  4D50 0B15 42BD 8DF5 A1B0

Reply via email to