Follow-up Comment #3, bug #66932 (group groff): At 2025-03-20T20:31:18-0400, Dave wrote: > Follow-up Comment #2, bug #66932 (group groff): > > I can get it even smaller: I get the assertion failure using git head > even with the "C-" removed from the input.
Aha! Excellent. Yeah, once I got as far as I did (laboriously binary
searching and reducing a 6.2KiB crasher down to a handful of bytes, with
help from an injected `dump_node_list_in_reverse(nd);` at the top of
`distribute_space()` to force revelations), I declared my day's work
done and went to bed.
> I still have my build from git as of mid-August 2024 (version
> 1.23.0.1624-4d251-dirty), and the assertion failure doesn't happen
> there.
That, I can explain.
373836fafe src/roff/troff/env.cpp (G. Branden Robinson 2024-12-06 22:40:31
-0600 2196) assert(desired_space >= H0);
Unfortunately I slipped that in without documenting why. Since I
usually explain myself to the point of tedium, most likely there wasn't
more to say than the assertion already did--it seemed to me that the
function shouldn't be getting called if there is negative space to
distribute, since we don't have narrowing space adjustment: only
expansions (bug #40963).
Obviously it is getting called. But it is a corner case, or our own
documents and test suite, or a brave Git master branch, user would have
called me on the carpet over it. The task now is to understand why
`desired_space` is less than zero, whether it should be, and if that is
an expected scenario, what to do about it. Warn?
I think bug #44018 may also be involved here, or adjacent. That's
marked as fixed, but I don't think we collectively ever reached a full
understanding of what was going on.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?66932>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
