delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/08/27/23:36:34

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 57S3aYwU817928
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 57S3aYwU817928
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=ms64KRab
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5E94D38515CB
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1756352191;
bh=yK+lwcocMnGZIStVgyadmDwkfl+JTe5LkQoiHS7rRnI=;
h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:
List-Help:List-Subscribe:From:Reply-To:From;
b=ms64KRab+hNlvzAwaGI8olgOtEFj7oaRpPOdDDunnKO+2Xtg2n3FWkl3qvOAia0Ok
aonNb/lXBQWVlC1++iQj39spksTW1s4w2TvtGIjP48JQSDqFYsv6vrJisEGZKuwQCB
3uJQSc4rfXKTOZBTgvVZugbQSc/J0vDZy+KxeADE=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 12B5C3858C60
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 12B5C3858C60
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1756352162; cv=none;
b=ZBrEtNcq+JZ56L/2DC7D8GdsBqPZFMPwKkp0R4HFUZQLUxTcoN8wU1VlIZkmbCpwa8uiqr0hMz2Ew9NmU3sCefE3UfXFEmrm0TVwg1EQe5rfY4eJqZW/KGcoSwXe4rQ3UG4z9Dp/qb6GVpAp+oYf4d9drk1//SrhmSBjus4iOyo=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1756352162; c=relaxed/simple;
bh=jPk+4H0IMCt4vOgm9mJuTocaj0c+7c2GVK++eII1sF8=;
h=DKIM-Signature:Message-ID:Date:MIME-Version:From:To:Subject;
b=nJZWsoCgZnxRo9Se/79Ob7p/OW+Jy/rCv6hOf7yP7zBX7uGraEsMse//3gNbYky6XOf+tcYqP3nyGyprv9iKrMEfcNHdT7yZiwE4JBlfCr/yUiMbNUrOoH4fMyPLxBTtZSWT7IDJRyKsQGoW8Z/0x49Mr2Z2l9v672BxJAIM/w0=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 12B5C3858C60
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Message-ID: <1b1e8e7f-0ee9-41b8-931f-202af6704c4d@towo.net>
Date: Thu, 28 Aug 2025 05:36:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: cygwin AT cygwin DOT com
Subject: pty read loop losing data in wsl context
Autocrypt: addr=towo AT towo DOT net; keydata=
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 kQ==
X-Provags-ID: V03:K1:TSaIDm2h9IUGCd+y9dx8r3oMzA98pGSWf52Qcg4oFzMg6B/rByB
9dLvD9WxdWsVnELIjE4jXQManogCYO6gKj1651hKMSymIV35bVsjgOJztWi9Yv5o48jp24t
FBH9Gv90YykEO8rOr7JJEi0fcVGTuhaswi+1wDRb8vU8EA2M4dYu+yO0cuJ14Rxkp5LRju+
kOpAVRp5T6jtteRqK7y8g==
UI-OutboundReport: notjunk:1;M01:P0:bS6pbJKQ3ME=;TwPQZ+8UTXoaN97a5KDG2Vp3GUq
HtHoA2DAPmXGijGoZ7Q3pPuI5EOkYFhN9xR6uilwhrufEiuJg8FoU52aJYBhud1ChdYj9L1D8
GDLbDooKctDoiTNg+fP7eRqJkHSyPYq0Ss8fhex7BjqUOuEhqGUf9rbvLZcdmOUR4MVpdxtII
KmmrbI7I2KUgiZzrAhDjGnICgunyDMttWOLYyyi3r0HSP10SrhzDXzNCtZa+t1ZUrdfvrTfoc
D4v6rXM7BxrvbM35CCQLns307Ql7yMgJ4edZHn5ic7Ink8+BC1Fa09+lUnVZHPodC5qxnON7A
Y/7fhzV1xpPm/ryxlxSA+cK2junpuz9kcGyax0CqXker3VUY5TjR+QQCFMMkWkLjjw3yzVire
drXbOcN8wqy/e7jHcYHeKUrcWyB21Lp1dwYuH0o0RWC59RmYMDz3DmRqK9IJaic2F7WLIbaE4
j6TOFlCKqyN/dh9mYDCCXiUqPE1OfLphxt/9eeqWXpWON5mFmiK06KaiXgt4XOElIvtwZEB8c
EWryKrnHCIiiLOUMAB5rR0W4LVLzZCxT3SZ9lTJw+CnSx9Lqm7gEnzP9TsSgLSY3ECewx+UR3
DyQ4i+pyt6AtMetAaQjFRPn6qxaNGOnea8hUMh5xOr9ileyLdmB8h5xFqQyZDJRoK/bxjRvqL
k6ft0UwtvU8Spzi+hJET6bCO3ekwc74I8HY7CXHustGvjNpO9waNKVQbmzMGAVXTRacRCGjv6
+M9rBv4EhEQUDWsn005wJICMdR84gc6xwuaQcHy41RPARivJBmQ9/A2dxecCrIoUMnSNIemIy
YlrbJW1TKNyc9wfvQ4VgcEq2F2p/asINpNUVD7FAIPhLKimYyh0F8vzYxBN8appsjk6QMu7uz
Pik7ODGlbiGLYimzT27j8wG67UBkuS11aDCidFTATz9HfFkkJfojRyz8IDoWIq1C3IiqbyVLR
M4eksnMRjePtM1lRMAlEKXyiH71JpjO4Ed7omyrC9UR3PZog/geqkJld1EfnP7qPkeVlLcWuP
tD63ZkjknjfMIkVOLK7i9wqKlHY1ZQ0Peh4oGL0lRLIClNx8oAG1oxd7qQlwIgGUwtS0kSMPz
Wsv9dxL2Su4pqkH/EmHCMnM+gn5JahdUcnFjL8yX5z0PhBiyRp7T17rzS8ebO01ebf2EjiUgp
2m7IPOwLvnuMMY2D5QXs9lwthhIWULvnSM1t6sx5JCLyCepMiLrunI/yEW+BAy9X13Rpruinz
OWxeDcAGAwYvkr1ivv2JgvbhoyDAAa7Jhy/Ia5H1EDSb1L1dGtABR9ZbCF/LjLz7HKYqwzZ6U
xwYt60KgfNGIoYjSI4I4L20xrFIyLtYdlmLs1Pw+jWaUfyBfjh+rHPTjlRWDEd62x5xqyh6g7
3u4ljgLLl0csfZ7QCQdsX7N+Ojk0/f79Rw+NN4Enjy55ZehhOOLQ2xO0Swx1Jpytrgyy2Lhdf
dbookp0aGcczVVtBfrhOUheMn9I9n9KrjFxvNcvXXeHl2Fg1yyT4s18jAl72FMymMLpytWnHe
UCup0jTP801IGKSmomLbQS7r2AvxdTE9gZ0waqz1RyczpcpX5MBXTDQc4Cau8NqpMscUbIVdN
jJCDlL08/wDpuEvIQUdijeQpt8s5beG
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
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: Thomas Wolff via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Thomas Wolff <towo AT towo DOT net>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 57S3aYwU817928

When running wsl.exe from mintty, typing ^O corrupts terminal display.
This was reported in
https://github.com/mintty/mintty/issues/1332
and I later reported it towards Windows conpty
https://github.com/microsoft/terminal/issues/19285
but conpty is unlikely the cause, as testing suggests.

Test case, in mintty:
wsl
ls -1 /bin
^O # enter the control character
ls -1 /bin # repeat

The same happens in xterm and some other terminals, but not all.

Mintty uses a loop to read terminal output from the pty and fill its buffer:
         do {
           int ret = read(pty_fd, buf + len, sizeof buf - len);
           if (ret > 0)
             len += ret;
           else
             break;
         } while (len < sizeof buf);
Tracing the loop shows that, while running wsl, after having entered ^O, 
every subsequent read returns -1.
Taking out the loop (by patching it, or currently by using option Baud 
with some high value) fixes the problem.
I suspect some very obscure interworking problem between wsl/conpty and 
cygwin pty handling. As noted in the latter issue, it does not happen 
with terminals running remotely, so the suspicion goes more to the 
cygwin side.
What’s the role of ^O in this puzzle? Does it trigger something in cygwin?
Is there anything peculiar that would cause pty chunks not be recognised 
and then skipped in such a loop?
Thomas

-- 
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

- Raw text -


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