From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-workers-return-43385-ml=inbox.vuxu.org@zsh.org X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,T_DKIMWL_WL_HIGH autolearn=ham autolearn_force=no version=3.4.1 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id d08fa6c6 for ; Wed, 5 Sep 2018 12:53:41 +0000 (UTC) Received: (qmail 753 invoked by alias); 5 Sep 2018 12:53:29 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 43385 Received: (qmail 12520 invoked by uid 1010); 5 Sep 2018 12:53:29 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.11):SA:0(-6.9/5.0):. Processed in 2.43231 secs); 05 Sep 2018 12:53:29 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20180905125322euoutp0104fc040ba1c21483ada5908dfc845444~Rght0nzNT0258902589euoutp01d DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1536152002; bh=spRBaW31+9QfIZVc/tI/9SnA3H/Ka7esapVmj5Bwf2A=; h=Date:From:To:Subject:In-Reply-To:References:From; b=aJ/EwbA+U7F0IUMHn0ezkYC5cAO8Yjh45kjIkqbI2SU23Fw4dFrv/00syzLuw983o cEvTJVOfijC6y9Y3rVUCgTJnwqtvhzfl68wuoDcrckGcOJ7gkjvVQLdlOce+lrSe/Z awhXlCJmFa8MggpbVKbSHKLuSRprjl4602Ew4Oos= X-AuditID: cbfec7f2-5e3ff70000001159-62-5b8fd1c15563 Date: Wed, 5 Sep 2018 13:53:19 +0100 From: Peter Stephenson To: Subject: Re: zsh 5.6 regression: a pipe sometimes yields a TTOU signal In-Reply-To: <20180905105510.GA2116@cventin.lip.ens-lyon.fr> Organization: SCSC X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrLIsWRmVeSWpSXmKPExsWy7djP87oHL/ZHG2zeI25xsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4MhZ+b2cq2Cxa8fPjT6YGxocCXYwcHBICJhKPbiR0MXJxCAms YJR4dPUpG4TTxySx7eEldginl0li+eHNjF2MnGAdX3dNgqpazigx4cMlNriqy5OnMUI4p4Ey +99AOeeBnOZDYP0sAioS/YvnM4HYbAKGElM3zQaLiwhISlxrPs0IcpWwgJvEvV2VIGFOARuJ v2fusYCE+QWEJC4020JcYS9xdM9JsCm8AoISJ2c+YQGxmQXkJba/ncMMslZC4DObxMLJV1gh isokZv1ZzAbR7CLx4uBeFghbWOLV8S3sELaMxP+dIKeBNLczSqyZ9JodwulhlNh09A40AKwl +m5fBDuUWUBTYv0ufUhIOkp8/uINYfJJ3HgrCHEPn8SkbdOZIcK8Eh1tQhAz1CR2NG1lnMCo PAvJB7OQfDALYfwCRuZVjOKppcW56anFhnmp5XrFibnFpXnpesn5uZsYgYng9L/jn3Ywfr2U dIhRgINRiYd3wbn+aCHWxLLiytxDjBIczEoivEYngUK8KYmVValF+fFFpTmpxYcYpTlYlMR5 +bTSooUE0hNLUrNTUwtSi2CyTBycUg2MjXq+yQsPBbF3SVa22Wt2Tfjy4HbuhRmPQ9/fZb/z 6+0Xs0lmUtt7P7NultA6s0Pvj62hEoe+JJd4702mxW/6Hs3auM/7zA13B8uwiQHCtimTSrx4 /L7Z/nVbIVwWHbu6uW/BFU4B3/Ip6w8d+eCiFH1B+FD+yX339Bl/5J5QMXii4piv8uyzEktx RqKhFnNRcSIArl03YQADAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphkeLIzCtJLcpLzFFi42I5/e/4Xd0DF/ujDSZ1q1kcbH7I5MDoserg B6YAxig9m6L80pJUhYz84hJbpWhDCyM9Q0sLPSMTSz1DY/NYKyNTJX07m5TUnMyy1CJ9uwS9 jIXf25kKNotW/Pz4k6mB8aFAFyMnh4SAicTXXZPYQGwhgaWMEtd3i0DEZSQ+XfnIDmELS/y5 1gVUwwVU080k8ePBOVYI5zSjxLJ9C6Gc84wSyw9NZAVpYRFQkehfPJ8JxGYTMJSYumk2I4gt IiApca35NJDNwSEs4CZxb1clSJhXwFni7eOlLCA2p4CNxN8z91ggZq5nklg8ZzY7SD2/gJDE hWZbiIvsJY7uOckE0SsocXLmE7BeZgEdiROrjjFD2PIS29/OYZ7AKDwLSdksJGWzkJQtYGRe xSiSWlqcm55bbKRXnJhbXJqXrpecn7uJERgT24793LKDsetd8CFGAQ5GJR5ejzP90UKsiWXF lbmHGCU4mJVEeI1OAoV4UxIrq1KL8uOLSnNSiw8xmgLDYiKzlGhyPjBe80riDU0NzS0sDc2N zY3NLJTEec8bVEYJCaQnlqRmp6YWpBbB9DFxcEo1MDrmLk9Z/mPHpxeMPccuf/vE+m7P8wV3 5tgksWu/EDsc37k09fiLtVpb3lj8jIyZX7nhbrVBj+PHxpAC15szOG97HPLzNHkW1H5lxXT7 Zd/VmDKZ9uT3SfR+8CqMlnNdofMmTvKc86FzDEFzV7Av0pXuOHI71fZjQDlLwvZfPX9mfQpr Lyr6ekCJpTgj0VCLuag4EQBbukXdnwIAAA== Message-Id: <20180905125320eucas1p196ef7dfbb8ce5f76d084021ae358ac54~RghsfbuZ12275022750eucas1p1f@eucas1p1.samsung.com> X-CMS-MailID: 20180905125320eucas1p196ef7dfbb8ce5f76d084021ae358ac54 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20180905091407epcas1p1ff78da39bfd4f3e4201f467683288a7b X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20180905091407epcas1p1ff78da39bfd4f3e4201f467683288a7b References: <20180905090339.GA18116@cventin.lip.ens-lyon.fr> <20180905100356eucas1p29702acd7569a94c8c78003e6b124daaa~ReNxz4yht0327203272eucas1p2s@eucas1p2.samsung.com> <20180905105510.GA2116@cventin.lip.ens-lyon.fr> On Wed, 5 Sep 2018 12:55:10 +0200 Vincent Lefevre wrote: > On 2018-09-05 11:03:54 +0100, Peter Stephenson wrote: > > With > > > > (echo mercurial) | gr mercurial > > > > I always get > > > > zsh: suspended (tty output) pager-wrapper grep --color=always --line-buffered -E mercurial > > Or just with: > > (echo foo) | { grep foo | less -+c -FX } > > > This isn't going to be fixed quickly (or, quite likely, at all without > > creating different knock-on effects, as changes here always do). > > Is there any reason why this changed since zsh 5.5.1? If a new feature > is the cause, couldn't it be reverted until this is fixed? Bizarrely, yes there is actually a reason the code changed(!) There are no new features in this area and the last obvious related change I can see was in May, although I don't know if that's causing this or not --- it's not obvious why it would cause this, but working with multiple processes is subtle. (Hope the following doesn't appear grumpy, I'm just trying to be realistic about this.) Any changes were there to fix long-standing problems in the combination of pipes and builtin structures. This has always been buggy and the code is a total nightmare. Arguably we are doing too much work --- this dates from the late 90s, when Sven put in some extremely clever but a changes to allow job control with shell constructs to work a bit more naturally: they're extremely clever but a bit brittle and a lot hard to understand. I don't think there have been any new *features* since then, just gradual improvements in the things we know how to test. The code has evolved in such away that I don't think going back is sensible. It's never been perfect and --- given that people aren't doing enough testing between releases, as the emergence of the present issue shows --- arbitrarily backing off changes until it sort-of vaguely works is just asking for trouble. We *know* this will expose bugs. The choices I can see are: 1. Wait for me to do something about it on my own time and no, you don't get to hassle me about it. I'm not promising a date, I'm just saying it's quite likely if no one else looks at it I prbably will at some point but the rest of my life isn't going to stop. As it's reproducible it's probably hours work rather than days if I get the chance to look. 2. Someone else gets a go. Whoopee! I'm very glad to give as many pointers as you need. 3. Just lump it for the time being and test the pre-release better next time. With races like this we need everybody trying out all their awkward cases. (Ideally we need lots of people using the top of tree, in fact.) Cheers pws