From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.devel Subject: Re: esh-proc test failures Date: Mon, 22 Aug 2022 10:06:36 -0700 Message-ID: References: <166036758418.2203.8730240669199078524@vcs2.savannah.gnu.org> <20220813051305.6667BC09BFE@vcs2.savannah.gnu.org> <87o7wmg0nx.fsf_-_@gnus.org> <30a7e3aa-ad52-325f-4fcd-528aade4a339@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------ED331AB9FDFB5AFA29E43ACF" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15946"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Aug 22 20:44:36 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQCPb-0003uz-S0 for ged-emacs-devel@m.gmane-mx.org; Mon, 22 Aug 2022 20:44:35 +0200 Original-Received: from localhost ([::1]:56274 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oQCPa-0003qN-R9 for ged-emacs-devel@m.gmane-mx.org; Mon, 22 Aug 2022 14:44:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34050) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQAsw-0007CA-Cu for emacs-devel@gnu.org; Mon, 22 Aug 2022 13:06:46 -0400 Original-Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]:45792) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oQAsu-0007Jd-3a for emacs-devel@gnu.org; Mon, 22 Aug 2022 13:06:46 -0400 Original-Received: by mail-pj1-x102c.google.com with SMTP id x63-20020a17090a6c4500b001fabbf8debfso11961837pjj.4 for ; Mon, 22 Aug 2022 10:06:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-language:in-reply-to:mime-version:date:message-id :references:cc:to:from:subject:from:to:cc; bh=+bhzYzx4J3tixdPU+gBrE3C+0ebR6Wc1c1nDNlLWjlg=; b=R5M6OX6q0llGlVYHXu6ovsE0VGTqMx6FyHiMnlXFJyFC3H5pKUze1jlDdrDfhoEtTA tLThuFQg/MzTSOo7dYXdeIPCRfuSA/ghH3z1E7gT399nH0hBMe2l96PWlfwu6VzWr32G 4WVsDMpLIGUETYiisf2o4ys582pz8MgK/MFWrUvsK/Q7AdHzzGG1645/scdFAuMhkopT riXWLn3KWi3TrZIRX1UEicAIo9xZmKsGbi/QveGmWb56n9QtBK648y+kKqP8sSskCQ/2 uF0JfpRn9lOy17YbdJIC+qYTe8X3keLChZgejFGNrONf1zgbYmbyfWD3cSSjlrAb4C0B s7vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:in-reply-to:mime-version:date:message-id :references:cc:to:from:subject:x-gm-message-state:from:to:cc; bh=+bhzYzx4J3tixdPU+gBrE3C+0ebR6Wc1c1nDNlLWjlg=; b=TAuMCelNOjmeJ9C1r+vw3EBIDXj41magIMnZgVQYwREIqVDpcSXQzFkDdM9NiUBYji d5fpmcs8OlC/jcOV5LN/zMhPMBXT6Y9AWNAGSYYUw5YqW8aOY8Fa8hgA8MKmjOH29CJ+ rCScrYH+r9zNp8CyMgfaAwV4Oc+eKGy0eoqKv2hjpQdUCoTNGyXtGINO2GzvGJfFUlZ2 4y2pLhSK5+4cdoBJDibXKBSliywZiCP/+8PbhYrrW0dw9FbqsksY6VadqW6MKZSZZPCO ONQhJol99t8eOi91dd4oOv7jniYXV0criGxrjav0fMlBnkDIZek9h+zpRWjD9w1qVuAM WmMg== X-Gm-Message-State: ACgBeo1Fjm53fvlzkO/h5cODi4xD6m5pDzJPDI/US37kOQkGYAS/RtaH 6tMiEh4wpqmg37Y2rlknF/dzqkm1dEE= X-Google-Smtp-Source: AA6agR4Wx3V6+6qJ3YMXIYdCupJ0ywj+J6T438BcjzRI70uCi7fwEhdDvEk/nbNbs8keAiVcdpVv+A== X-Received: by 2002:a17:902:e8d8:b0:172:7e6b:c8ec with SMTP id v24-20020a170902e8d800b001727e6bc8ecmr20875885plg.171.1661187997288; Mon, 22 Aug 2022 10:06:37 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id a10-20020a1709027e4a00b00172dda377fesm3744906pln.260.2022.08.22.10.06.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 22 Aug 2022 10:06:36 -0700 (PDT) In-Reply-To: <30a7e3aa-ad52-325f-4fcd-528aade4a339@gmail.com> Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::102c; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:293812 Archived-At: This is a multi-part message in MIME format. --------------ED331AB9FDFB5AFA29E43ACF Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 8/14/2022 11:44 AM, Jim Porter wrote: > On 8/14/2022 11:06 AM, Lars Ingebrigtsen wrote: >> Some esh-proc tests seem to be failing here: >> >> https://hydra.nixos.org/build/187349852/nixlog/1 >> >> And I've seen the same myself, but intermittently, so it seems like some >> of the (new) tests there aren't quite stable. > > From Hydra, it seems that the issue is that there's a broken pipe, so > there's probably a timing issue with how the external process runs vs > Eshell's internal code. I'll try to reproduce this locally and fix it. Ok, after stepping away for a bit and letting this bubble around in my head, the issue turned out to be pretty simple (I think). Attached is a patch that should fix this. Here's what's going on. Imagine you have a pipeline like 'lisp-command | external-command'. It could operate in this order: * Start external-command * Send output of lisp-command to external-command * Finish external-command That's good. However, it could also do this: * Start external-command * Finish external-command * Send output of lisp-command to external-command -> SIGPIPE! The fix is to make sure that lisp commands also handle SIGPIPE (aka 'eshell-broken-pipe'), just like how external commands do. This is actually a bug introduced from the patch for bug#54062, but luckily the tests I added for bug#56025 revealed the issue. --------------ED331AB9FDFB5AFA29E43ACF Content-Type: text/plain; charset=UTF-8; name="0001-Handle-eshell-pipe-broken-when-evaluating-Lisp-forms.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Handle-eshell-pipe-broken-when-evaluating-Lisp-forms.pa"; filename*1="tch" RnJvbSA3MzYwZWNmYzczNzgxYzgzZGM5ZjZjNTVjN2NiNzM2NmU1NDcyODk1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMjIgQXVnIDIwMjIgMDk6NTM6MjQgLTA3MDAKU3ViamVjdDogW1BB VENIXSBIYW5kbGUgJ2VzaGVsbC1waXBlLWJyb2tlbicgd2hlbiBldmFsdWF0aW5nIExpc3Ag Zm9ybXMgaW4KIEVzaGVsbAoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hlbGwtZXhl Yy1saXNwKTogSGFuZGxlCidlc2hlbGwtcGlwZS1icm9rZW4nLgoKKiB0ZXN0L2xpc3AvZXNo ZWxsL2VzaC1wcm9jLXRlc3RzLmVsCihlc2gtcHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5lY3Rp b24tdHlwZS9taWRkbGUpCihlc2gtcHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5lY3Rpb24tdHlw ZS9sYXN0KTogUmVtb3ZlICc6dW5zdGFibGUnLgotLS0KIGxpc3AvZXNoZWxsL2VzaC1jbWQu ZWwgICAgICAgICAgICAgfCA0ICsrKysKIHRlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVz dHMuZWwgfCA0IC0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwgYi9saXNw L2VzaGVsbC9lc2gtY21kLmVsCmluZGV4IDJmNzdmM2Y0OTcuLmQ1Y2MzNzA2ZmQgMTAwNjQ0 Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWNt ZC5lbApAQCAtMTM0Nyw2ICsxMzQ3LDEwIEBAIGVzaGVsbC1leGVjLWxpc3AKICAgICAgICAg ICAgICAgICAgKGFwcGx5IGZ1bmMtb3ItZm9ybSBhcmdzKSkpKSkKICAgICAgICAgKGFuZCBy ZXN1bHQgKGZ1bmNhbGwgcHJpbnRlciByZXN1bHQpKQogICAgICAgICByZXN1bHQpCisgICAg KGVzaGVsbC1waXBlLWJyb2tlbgorICAgICA7OyAxNDEgaXMgMTI4ICsgMTMgKHRoZSBudW1l cmljIHZhbHVlIG9mIFNJR1BJUEUpLgorICAgICAoc2V0cSBlc2hlbGwtbGFzdC1jb21tYW5k LXN0YXR1cyAxNDEpCisgICAgIG5pbCkKICAgICAoZXJyb3IKICAgICAgKHNldHEgZXNoZWxs LWxhc3QtY29tbWFuZC1zdGF0dXMgMSkKICAgICAgKGxldCAoKG1zZyAoZXJyb3ItbWVzc2Fn ZS1zdHJpbmcgZXJyKSkpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1wcm9j LXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10ZXN0cy5lbAppbmRleCA2 MmU3ODRlOGY2Li4yMzY5YmI1Y2MwIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2Vz aC1wcm9jLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMu ZWwKQEAgLTc0LDggKzc0LDYgQEAgZXNoLXByb2MtdGVzdC9waXBlbGluZS1jb25uZWN0aW9u LXR5cGUvZmlyc3QKIChlcnQtZGVmdGVzdCBlc2gtcHJvYy10ZXN0L3BpcGVsaW5lLWNvbm5l Y3Rpb24tdHlwZS9taWRkbGUgKCkKICAgIlRlc3QgdGhhdCBhbGwgc3RyZWFtcyBhcmUgcGlw ZXMgd2hlbiBhIGNvbW1hbmQgaXMgaW4gdGhlIG1pZGRsZSBvZiBhCiBwaXBlbGluZS4iCi0g IDs7IFJlcGVhdGVkIHVucmVwcm9kdWNpYmxlIGVycm9ycy4KLSAgOnRhZ3MgJyg6dW5zdGFi bGUpCiAgIChza2lwLXVubGVzcyAoYW5kIChleGVjdXRhYmxlLWZpbmQgInNoIikKICAgICAg ICAgICAgICAgICAgICAgKGV4ZWN1dGFibGUtZmluZCAiY2F0IikpKQogICAoZXNoZWxsLWNv bW1hbmQtcmVzdWx0LWVxdWFsCkBAIC04NCw4ICs4Miw2IEBAIGVzaC1wcm9jLXRlc3QvcGlw ZWxpbmUtY29ubmVjdGlvbi10eXBlL21pZGRsZQogCiAoZXJ0LWRlZnRlc3QgZXNoLXByb2Mt dGVzdC9waXBlbGluZS1jb25uZWN0aW9uLXR5cGUvbGFzdCAoKQogICAiVGVzdCB0aGF0IG9u bHkgb3V0cHV0IHN0cmVhbXMgYXJlIFBUWXMgd2hlbiBhIGNvbW1hbmQgZW5kcyBhIHBpcGVs aW5lLiIKLSAgOzsgUmVwZWF0ZWQgdW5yZXByb2R1Y2libGUgZXJyb3JzLgotICA6dGFncyAn KDp1bnN0YWJsZSkKICAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgInNoIikpCiAg IChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwKICAgIChjb25jYXQgImVjaG8gfCAiIGVz aC1wcm9jLXRlc3QtLWRldGVjdC1wdHktY21kKQotLSAKMi4yNS4xCgo= --------------ED331AB9FDFB5AFA29E43ACF--