Re: Does Gnulib replace exit(3) under any circumstances?

"G. Branden Robinson" <[email protected]> Thu, 23 Jul 2026 22:40:44 -0500
Newsgroups gmane.comp.printing.groff.general,gmane.comp.lib.gnulib.bugs
Message-ID <20260724034044.zoct66o4c7ii2bgg@illithid>
--d5lg4i6756v4zwe2
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Subject: Re: Does Gnulib replace exit(3) under any circumstances?
MIME-Version: 1.0

At 2026-07-24T05:23:10+0200, Bruno Haible wrote:
> > I happened upon a baffling bug today.
> >=20
> > https://savannah.gnu.org/bugs/?68552
>=20
> exit() runs the destructors of global C++ objects [1], while
> quick_exit() doesn't [2].
>=20
> 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

--d5lg4i6756v4zwe2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEh3PWHWjjDgcrENwa0Z6cfXEmbc4FAmpi3rUACgkQ0Z6cfXEm
bc7UlBAAqSXQesBO1T68AWpA/z08u/AAZADyIzcIFPxTlKkbLiH3dB0s6T6mXOLM
zNxh0K5GkPRUZ1JVd1oyjD/odHS+FWlW/RMGpIUplR0jIURh9TsHJH2bj1kaAVs1
OjS3g0+NTYgHBWxbG8vJfzKIQtobXhqydd1clmLORXP0Ag40e+0hBFow7ty95SIB
sCwS9rINgBpTKeE1oYA9TWyk2+66BO7PDjC0IGgmTbt9VaA5R8fzDV6twXn4+khZ
+9t95o0vdknDl1hSK/FShuzvZILJ2997xlRG6+jEtry915+DhdBFfw7k5qL4jOAA
VAEiG/VYDTt3Ynz3gJV0Tc6r7tWU1n8yFFhsKDtw5I7vXyh7freREEWgK/0DFgTp
oiHgpfdtgMktx9EQeptbxaJ45LSKR83/+pMn4vLrdSfYQxsiwlwao+0tlrwIK8yC
BPywvnIjrW/qp85KtdyVTZHEXHcIfXqUO0dWbFH983d7w3MJUnddIxHdlp91oK4L
UukqRDslbRtaq6xSlWT11opnzwwNZQUoI86mXD7nsuAwgcnBSsNVjiAkM/jMzW5Y
UxLbVdJ3yRiY8EogV20bu7bXWfVWyrL5UdBCOw1AvFt7LRnKadqnr/fxqUDleilG
Tiw2NffvnpiVZwYAKACk059CMG9BHUf100Avjbp3BNlg+qjro5U=
=6IGY
-----END PGP SIGNATURE-----

--d5lg4i6756v4zwe2--