From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 22BA71F44D for ; Fri, 19 Apr 2024 07:34:10 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.a=rsa-sha256 header.s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C header.b=aru4fDgT; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rxil2-0000XR-Uy; Fri, 19 Apr 2024 03:34:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxiky-0000X3-Rn for bug-gnulib@gnu.org; Fri, 19 Apr 2024 03:34:00 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxikv-0001ux-JF for bug-gnulib@gnu.org; Fri, 19 Apr 2024 03:34:00 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 0D9A53C011BDC; Fri, 19 Apr 2024 00:33:54 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id NAD1oXezzrxk; Fri, 19 Apr 2024 00:33:53 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 62BCF3C011BE0; Fri, 19 Apr 2024 00:33:53 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 62BCF3C011BE0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1713512033; bh=uGKl+DiQ096dwjlhpMntn0uIvyL8kP+Gm6cYjDjhkJ4=; h=Message-ID:Date:MIME-Version:To:From; b=aru4fDgTXkCRkaQaJaLEka2uW4l/WvX0kFliG1QBJpsleprkzTpLRF/AtprPGxMPG 2YPuBvASiQdGAyeOXbwuH/Xj49p3DNn3Ka8hAO1uMwKgPxaM2iwlDiXHKatBJi9xjI 6fdoJ2fL9j6bXetmaGkDwQ0FIogl5Xn3zEO+dReIR/p7ir8tq7+ChIXNiK2TvHnv9m hz4DCy0MZWWsmZY6eGiEVjqvNdbGG1+dLNYfMMcM8RVzsJ5iA8wqe55bV3DTv5pjqL R0jhjKpkBcnuwSq6ezmOADfw9M2nD/LxQn+P2lmkpLdxnblSkWCZVR/tlo+Noyp2gz rqQpxxTMqZr+Q== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id vbXOR4dK0NhH; Fri, 19 Apr 2024 00:33:53 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.154.17.165]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 2A5973C011BDC; Fri, 19 Apr 2024 00:33:53 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------RxIpgs5yJQ7Ef9ZqNxCm10Nt" Message-ID: Date: Fri, 19 Apr 2024 00:33:52 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#70411: [bug] install(1) fails to read /dev/stdin on Darwin To: Sergei Trofimovich Cc: 70411@debbugs.gnu.org, Alejandro Colomar , Eli Schwartz , =?UTF-8?Q?P=C3=A1draig_Brady?= , Gnulib bugs References: <20240416223758.50d36dd7@nz.home> <20240418225232.21bf83cd@nz.home> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <20240418225232.21bf83cd@nz.home> Received-SPF: pass client-ip=131.179.128.66; envelope-from=eggert@cs.ucla.edu; helo=mail.cs.ucla.edu X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org Sender: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org This is a multi-part message in MIME format. --------------RxIpgs5yJQ7Ef9ZqNxCm10Nt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2024-04-18 14:52, Sergei Trofimovich wrote: > $ clang simple.c -o simple && echo 42 | ./simple > 1: ino=3009428657538693161 > 2: ino=3009428657538693161 > 3: ino=1568241705 > > Note how stat() and fstat() don't agree on inode. > > Apparently it's documented in > https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/fstat.2.html > as > > BUGS > Applying fstat to a socket (and thus to a pipe) returns a zero'd buffer, > except for the blocksize field, and a unique device and inode number. The BUGS note simply means that a pipe has a unique inode number, which is what we want. So that's not indicating any problem. Oh, I see the problem now. For a socket or pipe, macOS fstat returns the full 64-bit inode number, whereas macOS stat returns only the low order 32 bits. In your example, 3009428657538693161 % (2**32) == 1568241705. This is a kernel bug in macOS. Can you report it or otherwise arrange to have the kernel bug fixed? I expect that you have better connections with Apple than I do. A proposed patch (relative to xnu-10063.101.15) is attached; I have not tested it as I don't use macOS. Thanks. Also, I am documenting this macOS bug in Gnulib by installing the second attached patch to Gnulib, and am cc'ing this email to bug-gnulib. --------------RxIpgs5yJQ7Ef9ZqNxCm10Nt Content-Type: text/x-patch; charset=UTF-8; name="0001-Fix-bug-with-stat-truncating-pipe-socket-st_ino.patch" Content-Disposition: attachment; filename*0="0001-Fix-bug-with-stat-truncating-pipe-socket-st_ino.patch" Content-Transfer-Encoding: base64 RnJvbSAyOTM0NTExN2E0Y2Y4NWFjZWI4OGUzOTAxNzU4YjE5YTQ4NjcwNjJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE5IEFwciAyMDI0IDAwOjEyOjUwIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gRml4IGJ1ZyB3aXRoIHN0YXQgdHJ1bmNhdGluZyBwaXBlL3NvY2tldCBzdF9pbm8KClBy b2JsZW0gcmVwb3J0ZWQgYnkgU2VyZ2VpIFRyb2ZpbW92aWNoIGluOgpodHRwczovL2J1Z3Mu Z251Lm9yZy83MDQxMQpodHRwczovL2dpdGh1Yi5jb20vTml4T1Mvbml4cGtncy9wdWxsLzMw MDc5NwoqIGJzZC9taXNjZnMvZGV2ZnMvZGV2ZnNfZmRlc2Nfc3VwcG9ydC5jIChmZGVzY19h dHRyKToKRG8gbm90IHRydW5jYXRlIGlub2RlIG51bWJlcnMgdG8gMzIgYml0cy4KLS0tCiBi c2QvbWlzY2ZzL2RldmZzL2RldmZzX2ZkZXNjX3N1cHBvcnQuYyB8IDQgKystLQogMSBmaWxl IGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9ic2QvbWlzY2ZzL2RldmZzL2RldmZzX2ZkZXNjX3N1cHBvcnQuYyBiL2JzZC9taXNjZnMv ZGV2ZnMvZGV2ZnNfZmRlc2Nfc3VwcG9ydC5jCmluZGV4IGExN2M2OTkyLi5iNGE1NTEwMyAx MDA2NDQKLS0tIGEvYnNkL21pc2Nmcy9kZXZmcy9kZXZmc19mZGVzY19zdXBwb3J0LmMKKysr IGIvYnNkL21pc2Nmcy9kZXZmcy9kZXZmc19mZGVzY19zdXBwb3J0LmMKQEAgLTQzNywxMCAr NDM3LDEwIEBAIGZkZXNjX2F0dHIoaW50IGZkLCBzdHJ1Y3Qgdm5vZGVfYXR0ciAqdmFwLCB2 ZnNfY29udGV4dF90IGFfY29udGV4dCkKIAljYXNlIERUWVBFX1BJUEU6CiAjaWYgU09DS0VU UwogCQlpZiAoRklMRUdMT0JfRFRZUEUoZnAtPmZwX2dsb2IpID09IERUWVBFX1NPQ0tFVCkg ewotCQkJZXJyb3IgPSBzb29fc3RhdCgoc3RydWN0IHNvY2tldCAqKWZwX2dldF9kYXRhKGZw KSwgKHZvaWQgKikmc3RiLCAwKTsKKwkJCWVycm9yID0gc29vX3N0YXQoKHN0cnVjdCBzb2Nr ZXQgKilmcF9nZXRfZGF0YShmcCksICh2b2lkICopJnN0YiwgMSk7CiAJCX0gZWxzZQogI2Vu ZGlmIC8qIFNPQ0tFVFMgKi8KLQkJZXJyb3IgPSBwaXBlX3N0YXQoKHN0cnVjdCBwaXBlICop ZnBfZ2V0X2RhdGEoZnApLCAodm9pZCAqKSZzdGIsIDApOworCQllcnJvciA9IHBpcGVfc3Rh dCgoc3RydWN0IHBpcGUgKilmcF9nZXRfZGF0YShmcCksICh2b2lkICopJnN0YiwgMSk7CiAK IAkJaWYgKGVycm9yID09IDApIHsKIAkJCWlmIChGSUxFR0xPQl9EVFlQRShmcC0+ZnBfZ2xv YikgPT0gRFRZUEVfU09DS0VUKSB7Ci0tIAoyLjQ0LjAKCg== --------------RxIpgs5yJQ7Ef9ZqNxCm10Nt Content-Type: text/x-patch; charset=UTF-8; name="0001-fstatat-stat-document-macOS-st_ino-pipe-bug.patch" Content-Disposition: attachment; filename="0001-fstatat-stat-document-macOS-st_ino-pipe-bug.patch" Content-Transfer-Encoding: base64 RnJvbSBjMjE3NGE2MjNkMzMwOTZiNTJmNGQ3ZmQyOTYzZjc2YWNiM2UzMDFmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDE5IEFwciAyMDI0IDAwOjI5OjMyIC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gZnN0YXRhdCwgc3RhdDogZG9jdW1lbnQgbWFjT1Mgc3RfaW5vIHBpcGUgYnVnCgoqIGRv Yy9wb3NpeC1mdW5jdGlvbnMvZnN0YXRhdC50ZXhpIChmc3RhdGF0KToKKiBkb2MvcG9zaXgt ZnVuY3Rpb25zL3N0YXQudGV4aSAoc3RhdCk6CkRvY3VtZW50IG1hY09TIGJ1ZyAoc2VlIDxo dHRwczovL2J1Z3MuZ251Lm9yZy83MDQxMT4pLgotLS0KIENoYW5nZUxvZyAgICAgICAgICAg ICAgICAgICAgICAgIHwgNyArKysrKysrCiBkb2MvcG9zaXgtZnVuY3Rpb25zL2ZzdGF0YXQu dGV4aSB8IDUgKysrKysKIGRvYy9wb3NpeC1mdW5jdGlvbnMvc3RhdC50ZXhpICAgIHwgNSAr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv Q2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDdjZTc1YTk4YTkuLjE2NjdmOTBjNTUgMTAw NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAor MjAyNC0wNC0xOSAgUGF1bCBFZ2dlcnQgIDxlZ2dlcnRAY3MudWNsYS5lZHU+CisKKwlmc3Rh dGF0LCBzdGF0OiBkb2N1bWVudCBtYWNPUyBzdF9pbm8gcGlwZSBidWcKKwkqIGRvYy9wb3Np eC1mdW5jdGlvbnMvZnN0YXRhdC50ZXhpIChmc3RhdGF0KToKKwkqIGRvYy9wb3NpeC1mdW5j dGlvbnMvc3RhdC50ZXhpIChzdGF0KToKKwlEb2N1bWVudCBtYWNPUyBidWcgKHNlZSA8aHR0 cHM6Ly9idWdzLmdudS5vcmcvNzA0MTE+KS4KKwogMjAyNC0wNC0xOCAgQnJ1bm8gSGFpYmxl ICA8YnJ1bm9AY2xpc3Aub3JnPgogCiAJdG90YWxvcmRlcm1hZ2w6IEFkZCB0ZXN0cy4KZGlm ZiAtLWdpdCBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvZnN0YXRhdC50ZXhpIGIvZG9jL3Bvc2l4 LWZ1bmN0aW9ucy9mc3RhdGF0LnRleGkKaW5kZXggZTk1OWE1Y2M3My4uOTA4ODRlMmViMSAx MDA2NDQKLS0tIGEvZG9jL3Bvc2l4LWZ1bmN0aW9ucy9mc3RhdGF0LnRleGkKKysrIGIvZG9j L3Bvc2l4LWZ1bmN0aW9ucy9mc3RhdGF0LnRleGkKQEAgLTQwLDUgKzQwLDEwIEBAIFRoaXMg ZnVuY3Rpb24gZG9lcyBub3QgZmFpbCB3aGVuIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgYW4g ZW1wdHkgc3RyaW5nCiBvbiBzb21lIHBsYXRmb3JtcywgZXZlbiB3aGVuIEBjb2Rle0FUX0VN UFRZX1BBVEh9IGlzIG5vdCB1c2VkOgogZ2xpYmMgMi43LCBMaW51eCAyLjYuMzguCiBAaXRl bQorVGhpcyBmdW5jdGlvbiBzZXRzIEBjb2Rle3N0X2lub30gb25seSB0byB0aGUgbG93LW9y ZGVyIDMyIGJpdHMgb2YKK3RoZSBpbm9kZSBudW1iZXIgb2YgYSBzb2NrZXQgb3IgcGlwZSwg d2hpY2ggdGh1cyBjYW4gZGlzYWdyZWUKK3dpdGggdGhlIEBjb2Rle3N0X2lub30gb2J0YWlu ZWQgYnkgQGNvZGV7ZnN0YXR9OgorbWFjT1MgMTQuCitAaXRlbQogQHhyZWZ7c3lzL3N0YXQu aH0sIGZvciBnZW5lcmFsIHBvcnRhYmlsaXR5IHByb2JsZW1zIHdpdGggQGNvZGV7c3RydWN0 IHN0YXR9LgogQGVuZCBpdGVtaXplCmRpZmYgLS1naXQgYS9kb2MvcG9zaXgtZnVuY3Rpb25z L3N0YXQudGV4aSBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvc3RhdC50ZXhpCmluZGV4IGY2NTU0 NTEzOTIuLjhhZmQzYjE3YmIgMTAwNjQ0Ci0tLSBhL2RvYy9wb3NpeC1mdW5jdGlvbnMvc3Rh dC50ZXhpCisrKyBiL2RvYy9wb3NpeC1mdW5jdGlvbnMvc3RhdC50ZXhpCkBAIC01MCw2ICs1 MCwxMSBAQCBQb3J0YWJpbGl0eSBwcm9ibGVtcyBub3QgZml4ZWQgYnkgR251bGliOgogQ3ln d2luJ3MgQGNvZGV7c3RhdH0gZnVuY3Rpb24gc29tZXRpbWVzIHNldHMgQGNvZGV7ZXJybm99 IHRvIEBjb2Rle0VBQ0NFU30gd2hlbgogQGNvZGV7RU5PRU5UfSB3b3VsZCBiZSBtb3JlIGFw cHJvcHJpYXRlLgogQGl0ZW0KK1RoaXMgZnVuY3Rpb24gc2V0cyBAY29kZXtzdF9pbm99IG9u bHkgdG8gdGhlIGxvdy1vcmRlciAzMiBiaXRzIG9mCit0aGUgaW5vZGUgbnVtYmVyIG9mIGEg c29ja2V0IG9yIHBpcGUsIHdoaWNoIHRodXMgY2FuIGRpc2FncmVlCit3aXRoIHRoZSBAY29k ZXtzdF9pbm99IG9idGFpbmVkIGJ5IEBjb2Rle2ZzdGF0fToKK21hY09TIDE0LgorQGl0ZW0K IEJlY2F1c2Ugb2YgdGhlIGRlZmluaXRpb24gb2YgQGNvZGV7c3RydWN0IHN0YXR9LCBpdCBp cyBub3QgcG9zc2libGUgdG8KIHBvcnRhYmx5IHJlcGxhY2UgQGNvZGV7c3RhdH0gdmlhIGFu IG9iamVjdC1saWtlIG1hY3JvLiAgVGhlcmVmb3JlLAogZXhwcmVzc2lvbnMgc3VjaCBhcyBA Y29kZXsoaXNsbmsgPyBsc3RhdCA6IHN0YXQpIChuYW1lLCBidWYpfSBhcmUgbm90Ci0tIAoy LjQwLjEKCg== --------------RxIpgs5yJQ7Ef9ZqNxCm10Nt--