mandoc is crashing via an assert as of any build based on contrib/madocml/main.c -r294113. The 2nd assert below is failing: static void parse(struct curparse *curp, int fd, const char *file) { enum mandoclevel rctmp; struct roff_man *man; /* Begin by parsing the file itself. */ assert(file); assert(fd > 0); . . . This is because: int main(int argc, char *argv[]) { . . . if (argc < 1) { if (use_pager) tag_files = tag_init(); parse(&curp, STDIN_FILENO, "<stdin>"); } but STDIN_FILENO is zero: # grep STDIN_FILENO /usr/include/* /usr/include/roken-common.h:#ifndef STDIN_FILENO /usr/include/roken-common.h:#define STDIN_FILENO 0 /usr/include/unistd.h:#define STDIN_FILENO 0 /* standard input file descriptor */ If main's parse call with STDIN_FILENO is to be valid then the assert needs to be more like: assert(fd >= 0); (or an equivalent). The prior main.c revision (-r280025) used fd >= -1 for some reason. That would not fail the assertion for STDIN_FILENO but would allow -1 without failing the assertion as well. (I've no clue why -1 was allowed back then.)
Over to committer of 294113.
This has been fixed in the meantime, thanks for reporting and sorry for the delay in the reply