At 2026-07-24T05:23:10+0200, Bruno Haible wrote:
> > I happened upon a baffling bug today.
> > 
> > https://savannah.gnu.org/bugs/?68552
> 
> exit() runs the destructors of global C++ objects [1], while
> quick_exit() doesn't [2].
> 
> Does the crash persist of you call quick_exit() instead of exit()?

Nope.  That kicked it away.  Thanks, Bruno!

So I guess an object is getting double-destroyed.  Probably groff's
fault after all.  Damn.

Still, if I can trigger the crash only with invalid request syntax on a
niche platform like Termux, maybe I can justify not hunting this down
for groff 1.25.0.

I wonder why we'd have an object that gets double-destroyed with Clang
21.1.8 on aarch64, but neither GCC (Debian 10.2.1-6) nor Clang 11.0.1-2
(Debian) on amd64.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature

  • ... G. Branden Robinson
    • ... Collin Funk
    • ... Paul Eggert
      • ... G. Branden Robinson
        • ... Paul Eggert
    • ... Bruno Haible via discussion of the GNU roff typesetting system and related software
      • ... G. Branden Robinson

Reply via email to