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/

Attachment: signature.asc
Description: PGP signature

Reply via email to