delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/08/11/01:01:00

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 066443857039
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1597122014;
bh=PT6/ifx4rFN5AHHkRVBNkeXGzYf++8TXTdPVdd+WraM=;
h=Date:To:Subject:In-Reply-To:References:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=XZ3SbQi+w7x/dVgtopaRAyqkjO9vxA57vQVvUjsS+N9s5JX9rCHKEZjfOhEYZC8CV
DolinjVEyutgXXobnaHPmXMQd2DQLYUQkyZ+ICcYzeSP7zkKDV32QMs9BjA/tpVpcP
VVUChFisxg20BiH0DB6e21zvQZkIPotCegHFF4wY=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E59F13857C46
DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com 07B4xh9h004327
X-Nifty-SrcIP: [124.155.38.192]
Date: Tue, 11 Aug 2020 13:59:48 +0900
To: cygwin AT cygwin DOT com
Subject: Re: Race condition hangs on multiple mintty/tcsh? Brad Wetmore
Message-Id: <20200811135948.959c10de83b8ccfa35f4281a@nifty.ne.jp>
In-Reply-To: <3d594543-c992-a22c-4631-f786cf34f76b@towo.net>
References: <BYAPR07MB59428411CD00101EF02400B4B64D0 AT BYAPR07MB5942 DOT namprd07 DOT prod DOT outlook DOT com>
<ff57a2c8-6753-02d6-7a85-9657d70bc897 AT towo DOT net>
<1988bd34-7a17-e70f-bf23-0044f30c8687 AT towo DOT net>
<1193403444 DOT 420395 DOT 1596669799506 AT mail DOT yahoo DOT com>
<cc296c5f-c958-21bf-3a14-9584180de591 AT towo DOT net>
<3d594543-c992-a22c-4631-f786cf34f76b AT towo DOT net>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Mime-Version: 1.0
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A,
RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=no autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Takashi Yano via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>

This is a multi-part message in MIME format.

--Multipart=_Tue__11_Aug_2020_13_59_48_+0900_vwm=him6qccruPyq
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Thomas,

On Thu, 6 Aug 2020 15:31:24 +0200
Thomas Wolff wrote:
> Am 06.08.2020 um 13:46 schrieb Thomas Wolff:
> > Am 06.08.2020 um 01:23 schrieb Kevin Schnitzius via Cygwin:
> >> On Wednesday, August 5, 2020, 06:56:48 PM EDT, Thomas Wolff=20
> >> <towo AT towo DOT net> wrote:
> >>> Am 04.08.2020 um 12:02 schrieb Thomas Wolff:
> >>>> Am 04.08.2020 um 00:13 schrieb Brad Wetmore via Cygwin:
> >>>>> Hi,
> >>>>>
> >>>>> I generally kick off multiple (10) mintty sessions, and place the=
m
> >>>>> around the screen.
> >>>>>
> >>>>> C:/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico \
> >>>> --position @3 --position 120,0 --size 80x71 /bin/tcsh &
> >>>>> C:/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico \
> >>>>> --position @3 --position 715,0 --size 80x45 /bin/tcsh &
> >>>>> C:/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico \
> >>>>> --position @3 --position 715,660 --size 80x24 /bin/tcsh &
> >>>>>
> >>>>> Within the last 6 months or so, about 2-3 of them would hang and
> >>>>> either mintty/tcsh would not start. I put a "sleep 1" in between =
each
> >>>>> invocation and that seemed to take care of it.
> >>>>>
> >>>>> With the latest cygwin update, about 8 of them just hang even wit=
h
> >>>>> the sleep 1. I put in a "sleep 2", and now everything is coming u=
p
> >>>>> again.
> >>>>>
> >>>>> Not sure if this is a mintty or tcsh issue, but just wondering if
> >>>>> others are seeing this before I start trying to debug this.
> >>>> I can reproduce such behaviour with /bin/bash (easy cross-check), =
and
> >>>> in fact the shell is running in that case (easy test via `echo >
> >>>> .log`), so I have a vague and unpleasant suspicion it might in fac=
t be
> >>>> related to mintty although I have no idea how that would happen. T=
o be
> >>>> analysed.
> >>> When in this state, on the pty from which mintty receives child pro=
cess
> >>> output, select() does not report a ready for reading condition;=20
> >>> could it
> >>> be related to the recent poll/select patch? I could not reproduce i=
t in
> >>> cygwin 3.0.7.
> >> for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ; do=20
> >> mintty=C2=A0 -i /Cygwin-Terminal.ico=C2=A0 --position @3 --position =
120,$i=20
> >> --size 80x24 /bin/bash & done
> >>
> >> This does not fail for me.=C2=A0 Nor does it fail from cmd or powers=
hell=20
> >> using a script.
> >>
> >> I tried 3.1.4 and 3.1.6 on Windows 10.=C2=A0 I tried up to 100 insta=
nces=20
> >> of of mintty...
> > Thanks for testing. It is in fact hard to reproduce, maybe also=20
> > depending on system load (speculating).
> > I could reproduce one case of one of three terminals being=20
> > unresponsive also with xterm.
> And it also happens if I drop select() from mintty (and use just=20
> non-blocking read()).
> > Does anybody familiar with pty/select or recent changes have any idea=
?

I looked into this problem. After much struggle, I think
I have found a workaround for this issue.

I am not sure why this solves the issue at all, however,
this works for me.

Could you please test a patch attached?

--=20
Takashi Yano <takashi DOT yano AT nifty DOT ne DOT jp>

--Multipart=_Tue__11_Aug_2020_13_59_48_+0900_vwm=him6qccruPyq
Content-Type: application/octet-stream;
 name="0001-Cygwin-pty-Add-a-workaround-for-issue-of-starting-a-.patch"
Content-Disposition: attachment;
 filename="0001-Cygwin-pty-Add-a-workaround-for-issue-of-starting-a-.patch"
Content-Transfer-Encoding: base64

RnJvbSBjYzQ1MTY0OGJiYzdmMzk1ZmEwMGNiMmI5NzM1MWQxNTEzODI3ZjgyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFub0BuaWZ0eS5uZS5q
cD4KRGF0ZTogVHVlLCAxMSBBdWcgMjAyMCAxMzoxNjo1MiArMDkwMApTdWJqZWN0OiBbUEFUQ0hd
IEN5Z3dpbjogcHR5OiBBZGQgYSB3b3JrYXJvdW5kIGZvciBpc3N1ZSBvZiBzdGFydGluZyBhIGxv
dCBvZgogbWludHR5LgoKLSBJZiBhIGxvdCBvZiBtaW50dHkgYXJlIHN0YXJ0ZWQgaW4gYSBzaG9y
dCB0aW1lIGZyb20gYSBtaW50dHksIHNvbWUKICBvZiB0aGVtIGhhbmcgd2l0aCBlbXB0eSBzY3Jl
ZW4sIGNyYXNoIGltbWVkaWF0ZWx5IG9yIGhhbmcgb24gZXhpdGluZwogIG1pbnR0eS4gVGhlIGZv
bGxvd2luZyByZXBvcnQgc2VlbXMgdG8gYmUgcmVsYXRlZCB0byB0aGlzIGlzc3VlLgogICAgaHR0
cHM6Ly9jeWd3aW4uY29tL3BpcGVybWFpbC9jeWd3aW4vMjAyMC1BdWd1c3QvMjQ1NzUxLmh0bWwK
ICBUaGUgY2F1c2UgaXMgbm90IGNsZWFyIGF0IGFsbCwgYnV0IHRoaXMgcGF0Y2ggc2VlbXMgdG8g
c29sdmUgdGhlCiAgaXNzdWUuCi0tLQogd2luc3VwL2N5Z3dpbi9zcGF3bi5jYyB8IDE1ICsrKysr
KysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvd2luc3VwL2N5Z3dpbi9zcGF3bi5jYyBiL3dpbnN1cC9jeWd3aW4v
c3Bhd24uY2MKaW5kZXggODQwZWM0YTg2Li5lNzBjZWI4NmQgMTAwNjQ0Ci0tLSBhL3dpbnN1cC9j
eWd3aW4vc3Bhd24uY2MKKysrIGIvd2luc3VwL2N5Z3dpbi9zcGF3bi5jYwpAQCAtMTc3LDcgKzE3
Nyw3IEBAIGZpbmRfZXhlYyAoY29uc3QgY2hhciAqbmFtZSwgcGF0aF9jb252JiBidWYsIGNvbnN0
IGNoYXIgKnNlYXJjaCwKIC8qIFV0aWxpdHkgZm9yIGNoaWxkX2luZm9fc3Bhd246Ondvcmtlci4g
ICovCiAKIHN0YXRpYyBIQU5ETEUKLWhhbmRsZSAoaW50IGZkLCBib29sIHdyaXRpbmcpCitoYW5k
bGUgKGludCBmZCwgYm9vbCB3cml0aW5nLCBib29sIGlzY3lnd2luKQogewogICBIQU5ETEUgaDsK
ICAgY3lnaGVhcF9mZGdldCBjZmQgKGZkKTsKQEAgLTE4OCw2ICsxODgsMTEgQEAgaGFuZGxlIChp
bnQgZmQsIGJvb2wgd3JpdGluZykKICAgICBoID0gSU5WQUxJRF9IQU5ETEVfVkFMVUU7CiAgIGVs
c2UgaWYgKCF3cml0aW5nKQogICAgIGggPSBjZmQtPmdldF9oYW5kbGUgKCk7CisgIGVsc2UgaWYg
KGNmZC0+Z2V0X21ham9yICgpID09IERFVl9QVFlTX01BSk9SICYmIGlzY3lnd2luKQorICAgIHsK
KyAgICAgIGZoYW5kbGVyX3B0eV9zbGF2ZSAqcHR5cyA9IChmaGFuZGxlcl9wdHlfc2xhdmUgKiko
ZmhhbmRsZXJfYmFzZSAqKSBjZmQ7CisgICAgICBoID0gcHR5cy0+Z2V0X291dHB1dF9oYW5kbGVf
Y3lnICgpOworICAgIH0KICAgZWxzZQogICAgIGggPSBjZmQtPmdldF9vdXRwdXRfaGFuZGxlICgp
OwogCkBAIC02MjUsOSArNjMwLDExIEBAIGNoaWxkX2luZm9fc3Bhd246OndvcmtlciAoY29uc3Qg
Y2hhciAqcHJvZ19hcmcsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2LAogCiAgICAgICAvKiBTZXQg
dXAgbmVlZGVkIGhhbmRsZXMgZm9yIHN0ZGlvICovCiAgICAgICBzaS5kd0ZsYWdzID0gU1RBUlRG
X1VTRVNUREhBTkRMRVM7Ci0gICAgICBzaS5oU3RkSW5wdXQgPSBoYW5kbGUgKChpbl9fc3RkaW4g
PCAwID8gMCA6IGluX19zdGRpbiksIGZhbHNlKTsKLSAgICAgIHNpLmhTdGRPdXRwdXQgPSBoYW5k
bGUgKChpbl9fc3Rkb3V0IDwgMCA/IDEgOiBpbl9fc3Rkb3V0KSwgdHJ1ZSk7Ci0gICAgICBzaS5o
U3RkRXJyb3IgPSBoYW5kbGUgKDIsIHRydWUpOworICAgICAgc2kuaFN0ZElucHV0ID0gaGFuZGxl
ICgoaW5fX3N0ZGluIDwgMCA/IDAgOiBpbl9fc3RkaW4pLCBmYWxzZSwKKwkJCSAgICAgaXNjeWd3
aW4gKCkpOworICAgICAgc2kuaFN0ZE91dHB1dCA9IGhhbmRsZSAoKGluX19zdGRvdXQgPCAwID8g
MSA6IGluX19zdGRvdXQpLCB0cnVlLAorCQkJICAgICAgaXNjeWd3aW4gKCkpOworICAgICAgc2ku
aFN0ZEVycm9yID0gaGFuZGxlICgyLCB0cnVlLCBpc2N5Z3dpbiAoKSk7CiAKICAgICAgIHNpLmNi
ID0gc2l6ZW9mIChzaSk7CiAKLS0gCjIuMjcuMAoK

--Multipart=_Tue__11_Aug_2020_13_59_48_+0900_vwm=him6qccruPyq
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--Multipart=_Tue__11_Aug_2020_13_59_48_+0900_vwm=him6qccruPyq--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019