Re: bash 5.3: here-document larger than PIPE_BUF deadlocks on macOS (pipe-backed heredoc, body written before reader is forked)

Chet Ramey <[email protected]> Fri, 10 Jul 2026 10:05:55 -0400
Newsgroups gmane.comp.shells.bash.bugs
Organization ITS, Case Western Reserve University
Message-ID <[email protected]>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------MKmgzmVbV9g6X6XQJOjvQPS1
Content-Type: multipart/mixed; boundary="------------2aq9b9NHEF9PoPkG51GhD6rs";
 protected-headers="v1"
From: Chet Ramey <[email protected]>
Reply-To: [email protected]
To: =?UTF-8?Q?Juli=C3=A1n_Mateu?= <[email protected]>, [email protected]
Cc: [email protected]
Message-ID: <[email protected]>
Subject: Re: bash 5.3: here-document larger than PIPE_BUF deadlocks on macOS
 (pipe-backed heredoc, body written before reader is forked)
References: <CAC-m2iFSuNNooOEDjw_B_KKOVrN91UR3ybhbKAVVKA2JSwusAA@mail.gmail.com>
In-Reply-To: <CAC-m2iFSuNNooOEDjw_B_KKOVrN91UR3ybhbKAVVKA2JSwusAA@mail.gmail.com>

--------------2aq9b9NHEF9PoPkG51GhD6rs
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gNy8xMC8yNiA2OjI4IEFNLCBKdWxpw6FuIE1hdGV1IHdyb3RlOg0KDQo+IEJhc2ggVmVy
c2lvbjogNS4zDQo+IFBhdGNoIExldmVsOiAxNQ0KPiBSZWxlYXNlIFN0YXR1czogcmVsZWFz
ZSAoaW5zdGFsbGVkIHZpYSBIb21lYnJldzsgcGVyIHRoZSBtZWNoYW5pc20gYmVsb3csIGEN
Cj4gZnJvbS1zb3VyY2UgYnVpbGQgc2hvdWxkIGFsc28gcmVwcm9kdWNlKQ0KDQpUaGlzIGFw
cGVhcnMgdG8gYmUgdmVyeSBzeXN0ZW0tc3BlY2lmaWMgYW5kIHRoZSByZXN1bHQgb2YgY2hh
bmdlcyBpbiByZWNlbnQNCnZlcnNpb25zIG9mIG1hY09TOyBzZWUNCg0KaHR0cHM6Ly9saXN0
cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctYmFzaC8yMDI2LTA2L21zZzAwMTI2Lmh0bWwN
Cg0KZm9yIGEgZGV0YWlsZWQgZXhwbGFuYXRpb24uDQoNCkJhc2ggY29tcHV0ZXMgdGhlIHBp
cGUgc2l6ZSBhdCBidWlsZCB0aW1lIGFuZCBhc3N1bWVzIGl0IGRvZXNuJ3QgY2hhbmdlLA0K
YW5kLCB0aGF0IGlmIGl0IGRvZXMsIHRoZXJlIGlzIGEgd2F5IHRvIGRldGVybWluZSBpdCBh
dCBydW50aW1lLg0KDQpJJ3ZlIG5ldmVyIGhpdCB0aGlzIG9uIG1hY09TIDE1IG9yIDI2LCBh
bmQgdGhlIGJhc2ggdGVzdCBzdWl0ZSB1c2VzIGhlcmUtDQpkb2N1bWVudHMgd2l0aCBzaXpl
cyA1MTIgPD0gZG9jIDw9IDQwOTYsIDQwOTYgPD0gZG9jIDw9IDY1NTM2LCBhbmQgbGFyZ2Vy
DQp0aGFuIDY1NTM2LiBJIHdvdWxkIGJlIHNob2NrZWQgaWYgdGhlIHBlcnNvbiB3aG8gcGFj
a2FnZWQgYmFzaCBmb3INCmhvbWVicmV3IGRpZG4ndCBydW4gdGhlIHRlc3Qgc3VpdGUsIHNv
IHdlIGNhbiBhc3N1bWUgdGhleSBkaWRuJ3QgZW5jb3VudGVyDQp0aGlzLCBlaXRoZXIuDQoN
Cj4gRGVzY3JpcHRpb246DQo+IE9uIG1hY09TLCBhIGhlcmUtZG9jdW1lbnQgd2hvc2UgYm9k
eSBleGNlZWRzIFBJUEVfQlVGICg1MTIgYnl0ZXMgb24gRGFyd2luKQ0KPiBtYWtlcyBiYXNo
IDUuMyBoYW5nIGZvcmV2ZXIuIA0KDQpBcyBhYm92ZSwgdGhlIGlzc3VlIGlzIGEgbGl0dGxl
IGJpdCBtb3JlIGR5bmFtaWMgdGhhbiB0aGF0LiBQbHVzIFBJUEVfQlVGDQppcyBhYm91dCB3
cml0ZSBhdG9taWNpdHkgb24gcGlwZXMsIG5vdCBwaXBlIGNhcGFjaXR5Lg0KDQoNCj4gYmFz
aCBvbiBMaW51eCAoNjQgS0IgcGlwZSBidWZmZXJzKSBhcmUNCj4gdW5hZmZlY3RlZC4NCg0K
T25lIG5pY2UgZmVhdHVyZSBMaW51eCBoYXMgaXMgdGhlIGFiaWxpdHkgdG8gZHlhbWljYWxs
eSBkZXRlcm1pbmUgdGhlIHBpcGUNCmJ1ZmZlciBzaXplIHVzaW5nIEZfR0VUUElQRV9TWi4g
SXQgd291bGQgYmUgbmljZSBpZiBtYWNPUyBvZmZlcmVkIHNvbWV0aGluZw0Kc2ltaWxhci4N
Cg0KPiANCj4gUmVwZWF0LUJ5IChzZWxmLWNvbnRhaW5lZCwgbm8gZXh0ZXJuYWwgdG9vbHM7
IHJ1biB1bmRlciBiYXNoIDUuMyBvbiBtYWNPUyk6DQo+IA0KPiAgICAgICAgcHJpbnRmIC12
IGJvZHkgJyUqcycgNjAwICcnICAgICMgNjAwLWJ5dGUgYm9keQ0KPiAgICAgICAgYm9keT0k
e2JvZHkvLyAveH0NCj4gICAgICAgIGNhdCA8PEVPRg0KPiAgICAgICAgJGJvZHkNCj4gICAg
ICAgIEVPRg0KPiAgICAgICAgZWNobyBkb25lICMgbmV2ZXIgcHJpbnRlZCBvbiBiYXNoIDUu
MyAvIG1hY09TDQoNClRoaXMgaXMgYmFzaC01LjMgb24gbWFjT1M6IHRoZSBmaXJzdCBpcyBh
IGxvY2FsbHktYnVpbHQgYmFzaC01LjMuMTU7IHRoZQ0Kc2Vjb25kIGlzIGZyb20gTWFjcG9y
dHMuDQoNCiQgdW5hbWUgLWENCkRhcndpbiBNYWMubGFuIDI0LjYuMCBEYXJ3aW4gS2VybmVs
IFZlcnNpb24gMjQuNi4wOiBUdWUgQXByIDIxIDIwOjE1OjM0IFBEVCANCjIwMjY7IHJvb3Q6
eG51LTExNDE3LjE0MC42OS43MTAuMTZ+MS9SRUxFQVNFX0FSTTY0X1Q2MDMxIGFybTY0DQok
IGNhdCB4Mg0KcHJpbnRmIC12IGJvZHkgJyUqcycgNjAwICcnICAgICMgNjAwLWJ5dGUgYm9k
eQ0KYm9keT0ke2JvZHkvLyAveH0NCmNhdCA8PEVPRg0KJGJvZHkNCkVPRg0KZWNobyBkb25l
ICMgbmV2ZXIgcHJpbnRlZCBvbiBiYXNoIDUuMyAvIG1hY09TDQokIC4uL2Jhc2gtNS4zLXBh
dGNoZWQvYmFzaCAuL3gyDQp4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgNCmRvbmUNCiQgL29wdC9sb2NhbC9iaW4vYmFzaCAu
L3gyDQp4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHgNCmRvbmUNCg0KVGhlcmUgd2lsbCBiZSBhIGZpeCBkZXJpdmVkIGZyb20g
dGhlIGJ1Zy1iYXNoIG1lc3NhZ2UgYWJvdmUgaW4gdGhlIG5leHQNCmRldmVsIGJyYW5jaCBw
dXNoLg0KDQpDaGV0DQotLSANCmBgVGhlIGx5ZiBzbyBzaG9ydCwgdGhlIGNyYWZ0IHNvIGxv
bmcgdG8gbGVybmUuJycgLSBDaGF1Y2VyDQoJCSBgYEFycyBsb25nYSwgdml0YSBicmV2aXMn
JyAtIEhpcHBvY3JhdGVzDQpDaGV0IFJhbWV5LCBVVGVjaCwgQ1dSVSAgICBjaGV0QGNhc2Uu
ZWR1ICAgIGh0dHA6Ly90aXN3d3cuY3dydS5lZHUvfmNoZXQvDQo=

--------------2aq9b9NHEF9PoPkG51GhD6rs--

--------------MKmgzmVbV9g6X6XQJOjvQPS1
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

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

wmMEABEIACMWIQR8ATX7CIqvbGbGULm7WGnwZOp0qwUCalD8QwUDAAAAAAAKCRC7WGnwZOp0q2L5
AKCUlLYVWk6oD1QI6wWkP5nRT4RPRgCffPPKGomnWXqwnygN9m82/vAfoZE=
=E4xx
-----END PGP SIGNATURE-----

--------------MKmgzmVbV9g6X6XQJOjvQPS1--