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--