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:42:19 -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) --------------tlyQoSY9wPEOCoksr3ogvwFr Content-Type: multipart/mixed; boundary="------------Iy6YMowgVV570ED1keyL7sXA"; protected-headers="v1" From: Chet Ramey <[email protected]> Reply-To: [email protected] To: [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> <[email protected]> In-Reply-To: <[email protected]> --------------Iy6YMowgVV570ED1keyL7sXA Content-Type: multipart/mixed; boundary="------------HZgLhe9x4OokRLUpjmYo1OTz" --------------HZgLhe9x4OokRLUpjmYo1OTz Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gNy8xMC8yNiAxMDowNSBBTSwgQ2hldCBSYW1leSB3cm90ZToNCg0KPiBUaGVyZSB3aWxs IGJlIGEgZml4IGRlcml2ZWQgZnJvbSB0aGUgYnVnLWJhc2ggbWVzc2FnZSBhYm92ZSBpbiB0 aGUgbmV4dA0KPiBkZXZlbCBicmFuY2ggcHVzaC4NCg0KRm9yIHRob3NlIHdobyBkb24ndCB3 YW50IHRvIHdhaXQgKEkgY2FuJ3QgYWNjZXNzIG15IGdpdCBtYWNoaW5lIHJpZ2h0IG5vdyks DQp0cnkgdGhlIGF0dGFjaGVkIHBhdGNoLiBJdCB1cGRhdGVzIGNvbmZpZ3VyZSwgc28geW91 IGhhdmUgdG8gcnVuIGNvbmZpZ3VyZQ0KYWdhaW4gYmVmb3JlIGJ1aWxkaW5nIGFmdGVyIGFw cGx5aW5nIGl0Lg0KDQpDaGV0DQoNCi0tIA0KYGBUaGUgbHlmIHNvIHNob3J0LCB0aGUgY3Jh ZnQgc28gbG9uZyB0byBsZXJuZS4nJyAtIENoYXVjZXINCgkJIGBgQXJzIGxvbmdhLCB2aXRh IGJyZXZpcycnIC0gSGlwcG9jcmF0ZXMNCkNoZXQgUmFtZXksIFVUZWNoLCBDV1JVICAgIGNo ZXRAY2FzZS5lZHUgICAgaHR0cDovL3Rpc3d3dy5jd3J1LmVkdS9+Y2hldC8NCg== --------------HZgLhe9x4OokRLUpjmYo1OTz Content-Type: text/plain; charset=UTF-8; name="macos-pipe-size.patch" Content-Disposition: attachment; filename="macos-pipe-size.patch" Content-Transfer-Encoding: base64 KioqIC4uL2Jhc2gtNS4zLXBhdGNoZWQvcmVkaXIuYwlGcmkgTWFyICA3IDE4OjQ5OjM3IDIw MjUKLS0tIHJlZGlyLmMJVHVlIEp1bCAgNyAxMToyMTowOSAyMDI2CioqKioqKioqKioqKioq KgoqKiogNDczLDQ3NyAqKioqCi0tLSA0NzMsNTAwIC0tLS0KICAjZW5kaWYKICAKKyAjaWYg ZGVmaW5lZCAoUElQRVNJWkVfRFlOQU1JQykKKyAgICAgICAvKiBJZiB3ZSBjYW4ndCBjb3Vu dCBvbiB0aGUgcGlwZSBzaXplIGRldGVybWluZWQgYXQgY29tcGlsZSB0aW1lIHRvIGJlCisg CSBjb25zdGFudCBhY3Jvc3Mgc3lzdGVtcywgZGVmaW5lIFBJUEVTSVpFX0RZTkFNSUMgaW4g Y29uZmlndXJlLmFjLgorIAkgV2Ugc2V0IHRoZSBwaXBlJ3Mgd3JpdGUgZW5kIHRvIGJlIG5v bi1ibG9ja2luZywgdHJ5IHRvIHdyaXRlLCBhbmQKKyAJIGZhbGwgYmFjayB0byBhIHRlbXAg ZmlsZSBvbiBlcnJvci4gKi8KKyAgICAgICBpZiAoc2hfc2V0bm9kZWxheSAoaGVyZXBpcGVb MV0pIDwgMCkKKyAJeworIAkgIGNsb3NlIChoZXJlcGlwZVswXSk7CisgCSAgY2xvc2UgKGhl cmVwaXBlWzFdKTsKKyAJICBnb3RvIHVzZV90ZW1wZmlsZTsKKyAJfQorICNlbmRpZgorICAg ICAgIAogICAgICAgIHIgPSBoZXJlZG9jX3dyaXRlIChoZXJlcGlwZVsxXSwgZG9jdW1lbnQs IGRvY3VtZW50X2xlbik7CisgCisgI2lmIGRlZmluZWQgKFBJUEVTSVpFX0RZTkFNSUMpCisg ICAgICAgaWYgKHIgPT0gRU5PU1BDIHx8IHIgPT0gRUFHQUlOKQorIAl7CisgCSAgY2xvc2Ug KGhlcmVwaXBlWzBdKTsKKyAJICBjbG9zZSAoaGVyZXBpcGVbMV0pOworIAkgIGdvdG8gdXNl X3RlbXBmaWxlOworIAl9CisgI2VuZGlmCisgCSAgCiAgICAgICAgaWYgKGRvY3VtZW50ICE9 IHJlZGlyZWN0ZWUtPndvcmQpCiAgCWZyZWUgKGRvY3VtZW50KTsKKioqIC4uL2Jhc2gtNS4z LXBhdGNoZWQvZ2VuZXJhbC5jCVdlZCBKdW4gMjUgMTU6NTQ6MzUgMjAyNQotLS0gZ2VuZXJh bC5jCVR1ZSBKdWwgIDcgMTE6MTI6MTAgMjAyNgoqKioqKioqKioqKioqKioKKioqIDU5Niw1 OTkgKioqKgotLS0gNTk2LDYyMCAtLS0tCiAgfQogIAorIGludAorIHNoX3NldG5vZGVsYXkg KGludCBmZCkKKyB7CisgICBpbnQgZmxhZ3M7CisgCisgICBpZiAoKGZsYWdzID0gZmNudGwg KGZkLCBGX0dFVEZMLCAwKSkgPCAwKQorICAgICByZXR1cm4gLTE7CisgCisgICAvKiBUaGlz IGlzIGRlZmluZWQgdG8gT19OREVMQVkgaW4gZmlsZWNudGwuaCBpZiBPX05PTkJMT0NLIGlz IG5vdCBwcmVzZW50CisgICAgICBhbmQgT19OREVMQVkgaXMgZGVmaW5lZC4gKi8KKyAjaWZk ZWYgT19OT05CTE9DSworICAgZmxhZ3MgfD0gT19OT05CTE9DSzsKKyAjZW5kaWYKKyAKKyAj aWZkZWYgT19OREVMQVkKKyAgIGZsYWdzIHw9IE9fTkRFTEFZOworICNlbmRpZgorIAorICAg cmV0dXJuIChmY250bCAoZmQsIEZfU0VURkwsIGZsYWdzKSk7CisgfQorIAogIC8qIEp1c3Qg YSB3cmFwcGVyIGZvciB0aGUgZGVmaW5lIGluIGluY2x1ZGUvZmlsZWNudGwuaCAqLwogIGlu dAoqKiogLi4vYmFzaC01LjMtcGF0Y2hlZC9nZW5lcmFsLmgJV2VkIEp1biAyNSAxNTo1Mjo0 NyAyMDI1Ci0tLSBnZW5lcmFsLmgJVHVlIEp1bCAgNyAxMToxMzo0OCAyMDI2CioqKioqKioq KioqKioqKgoqKiogMzE4LDMyMSAqKioqCi0tLSAzMTgsMzIyIC0tLS0KICAKICBleHRlcm4g aW50IHNoX3Vuc2V0X25vZGVsYXlfbW9kZSAoaW50KTsKKyBleHRlcm4gaW50IHNoX3NldG5v ZGVsYXkgKGludCk7CiAgZXh0ZXJuIGludCBzaF9zZXRjbGV4ZWMgKGludCk7CiAgZXh0ZXJu IGludCBzaF92YWxpZGZkIChpbnQpOwoqKiogLi4vYmFzaC01LjMtcGF0Y2hlZC9jb25maWd1 cmUuYWMJTW9uIEp1biAzMCAxMDowNToyNCAyMDI1Ci0tLSBjb25maWd1cmUuYWMJVHVlIEp1 bCAgNyAxMToyNTozMiAyMDI2CioqKioqKioqKioqKioqKgoqKiogMTIxMCwxMjE0ICoqKioK ICBpc2MqKQkJTE9DQUxfQ0ZMQUdTPS1EaXNjMzg2IDs7CiAgcmhhcHNvZHkqKQlMT0NBTF9D RkxBR1M9LURSSEFQU09EWSA7OwohIGRhcndpbiopCUxPQ0FMX0NGTEFHUz0tRE1BQ09TWCA7 OwogIHNjbzMuMnY1KikJTE9DQUxfQ0ZMQUdTPSItYiBlbGYgLURXQUlUUElEX0JST0tFTiAt RFBBVEhfTUFYPTEwMjQiIDs7CiAgc2NvMy4ydjQqKQlMT0NBTF9DRkxBR1M9Ii1ETVVTVF9V TkJMT0NLX0NITEQgLURQQVRIX01BWD0xMDI0IiA7OwotLS0gMTIxMCwxMjE0IC0tLS0KICBp c2MqKQkJTE9DQUxfQ0ZMQUdTPS1EaXNjMzg2IDs7CiAgcmhhcHNvZHkqKQlMT0NBTF9DRkxB R1M9LURSSEFQU09EWSA7OwohIGRhcndpbiopCUxPQ0FMX0NGTEFHUz0iLURNQUNPU1ggLURQ SVBFU0laRV9EWU5BTUlDIiA7OwogIHNjbzMuMnY1KikJTE9DQUxfQ0ZMQUdTPSItYiBlbGYg LURXQUlUUElEX0JST0tFTiAtRFBBVEhfTUFYPTEwMjQiIDs7CiAgc2NvMy4ydjQqKQlMT0NB TF9DRkxBR1M9Ii1ETVVTVF9VTkJMT0NLX0NITEQgLURQQVRIX01BWD0xMDI0IiA7OwoqKiog Li4vYmFzaC01LjMtcGF0Y2hlZC9jb25maWd1cmUJTW9uIEp1biAzMCAxMDowNTozMCAyMDI1 Ci0tLSBjb25maWd1cmUJVHVlIEp1bCAgNyAxMToyNTozNiAyMDI2CioqKioqKioqKioqKioq KgoqKiogMjMxMzQsMjMxMzggKioqKgogIGlzYyopCQlMT0NBTF9DRkxBR1M9LURpc2MzODYg OzsKICByaGFwc29keSopCUxPQ0FMX0NGTEFHUz0tRFJIQVBTT0RZIDs7CiEgZGFyd2luKikJ TE9DQUxfQ0ZMQUdTPS1ETUFDT1NYIDs7CiAgc2NvMy4ydjUqKQlMT0NBTF9DRkxBR1M9Ii1i IGVsZiAtRFdBSVRQSURfQlJPS0VOIC1EUEFUSF9NQVg9MTAyNCIgOzsKICBzY28zLjJ2NCop CUxPQ0FMX0NGTEFHUz0iLURNVVNUX1VOQkxPQ0tfQ0hMRCAtRFBBVEhfTUFYPTEwMjQiIDs7 Ci0tLSAyMzEzNCwyMzEzOCAtLS0tCiAgaXNjKikJCUxPQ0FMX0NGTEFHUz0tRGlzYzM4NiA7 OwogIHJoYXBzb2R5KikJTE9DQUxfQ0ZMQUdTPS1EUkhBUFNPRFkgOzsKISBkYXJ3aW4qKQlM T0NBTF9DRkxBR1M9Ii1ETUFDT1NYIC1EUElQRVNJWkVfRFlOQU1JQyIgOzsKICBzY28zLjJ2 NSopCUxPQ0FMX0NGTEFHUz0iLWIgZWxmIC1EV0FJVFBJRF9CUk9LRU4gLURQQVRIX01BWD0x MDI0IiA7OwogIHNjbzMuMnY0KikJTE9DQUxfQ0ZMQUdTPSItRE1VU1RfVU5CTE9DS19DSExE IC1EUEFUSF9NQVg9MTAyNCIgOzsK --------------HZgLhe9x4OokRLUpjmYo1OTz-- --------------Iy6YMowgVV570ED1keyL7sXA-- --------------tlyQoSY9wPEOCoksr3ogvwFr Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- wmMEABEIACMWIQR8ATX7CIqvbGbGULm7WGnwZOp0qwUCalEEywUDAAAAAAAKCRC7WGnwZOp0q+rQ AKCScP1NTFVA1l6HvHHI8HsxYaMFrwCfXPCyM8DDS9VxMfRlmJsx2EyCvAk= =Fjl1 -----END PGP SIGNATURE----- --------------tlyQoSY9wPEOCoksr3ogvwFr--