DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 57U8Wqo01835823 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 57U8Wqo01835823 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=B5gcDS/j X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 19D0A385841D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1756542770; bh=C6pp1JNxn+2QZcf6heu5SB5W67QFHIIYyCC1OMwCa3c=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=B5gcDS/jrXDXthdMY3Cz0xM8e2xnSqtzGknhVhzkiKLUTiKY2dSBqAQgyn/kf0eYO OoYYHQcF/ZIXJHesUqoE2sCsv6yb3XjoK0XnSJib0LOxAd3mWU31jMIbAHr106z920 7k/qPsevbNO60eH8PVH1jS+yrqhq42DYZlsEo8FU= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 08EF33858C98 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 08EF33858C98 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1756542663; cv=none; b=kZYCfJf4ti3EMnpEFZ5+wOF6K4aNbf5+WARViPelkerBNR4hEaSB0WdBpXMQk7Qz19J1/5uivLa60pKzt0KFzkEBR0h375zfihyBwmZ6GxUMwe2ei9CIpoh6zkhHsMB3KVAOeIJUGDJb+kubld6eQjKQf3+3PIbqPIZVnCvcI6o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1756542663; c=relaxed/simple; bh=u1mkJNypicWSMQgu4QL9L5dNbfd2QEKhqMnRO03rPl0=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=s9u/5FgDBaTpg2C7H58m9UTblIyqfEGWzERm+l6ScpDtzN4s779UeU69qGrJqAXSyrh2QD49PKaFTA44PR13OzMEFHyObCFPfFzzyadezP1cA+5yI/S5eUPx2KwTBRoAI6UlgHcecFzpUA5xnIXpcVtryjMXzUfcmnp4fuP59Ko= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 08EF33858C98 X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Message-ID: <617ecabf-a072-4b65-8a4a-2763ed449d44@towo.net> Date: Sat, 30 Aug 2025 10:31:11 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pty read loop losing data in wsl context To: cygwin AT cygwin DOT com References: <1b1e8e7f-0ee9-41b8-931f-202af6704c4d AT towo DOT net> <20250830121111 DOT f6eda5bcc5ff659d43a635f3 AT nifty DOT ne DOT jp> Autocrypt: addr=towo AT towo DOT net; keydata= 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 kQ== In-Reply-To: <20250830121111.f6eda5bcc5ff659d43a635f3@nifty.ne.jp> X-Provags-ID: V03:K1:wLazatlbRG0LTohTWHQhxHo+HtPT3SLti95aPG9sYQeoJyU7gOs +YBwstka7o9BB+J6eIAEZChwa1Zrhcn4tmuWtG4SoKAPuofZI/tMWpcDfXPb7WB/V1aItmE PrXPwbbM4hMS2mINm9ZphktmgFkDsXL3BpbprY9VVa9rsLL090SD735G53RvfIcbzozkHIh HB/wd93G/DBT+sKRluBiQ== UI-OutboundReport: notjunk:1;M01:P0:e99OGTAVJ3w=;Lc0EFse5RObfjQvLdmQh6DfOCC1 AaTh+cNOsdJzJ0r+0XsxyFWvGu2N8pMsVNdwUjj3FKVbrDeD2G2M0V8OY7pTQcvyf2il1AHbC yQFzxQyAlzWWPSTtjfHiM18KzHgTDr/GBkQ/2YFTXFRD/oVv/gOfdu3clqzdt+HNVlTTekgx6 vmYi5pT+XV+kba3eNYMyYWcikM65uDVHRjT4myg9ALdw6nm7LpbsD+4fRSB1OuxrC6BSD89SA c9Z7n+iiH+eBRNghqyx8MlyDANAg0e59qAF0RX1kQWAJ2mxHchmsaC/62Wrrjm1cvd+mt3KE/ 5SgkaE+Q7KlwCy/8xDmwcSZuoHHk0ebfLykHrOKK8CC374+McBqX+ch2svUkA7qrnQSh96Q+6 rztJXL3UeNp/S0Ma+yinZq/AcrPF8oS1KpJluMD0LorV8Z33Hk9U2Oz+hqClkSqPIL8oVLM2l /+6Q2KSc4xQ3TcG/qpaP7iJWyQsNIH0ucVYgBVU+f9qpZmHd5/mTpqAtWMlH4w1JF8dpbkglw yeQp8sTuQTOhMfCPLdeZjAvP+iptFGFDPAclrYRr4p6RnJRgdINsygBsNu9lp6LOEJrlImAfa ANXwgXE8O+nUE//5ds69Iem1XN3lBbIaVt3bOMFxwmzOPxE5ovhXpPQDQ6qhk7ILzi0SxJ8gz ywxvIKZF6QkFM0lQIkgQ3gGRgt+ydZXZ0RvgmA1to9HVM/v7sz3T0Wy1kGCnyjotyDq4JClpL 5ATp+qzLg9QgwvM0rknjm5efrBvi93UbG0K8yWRd4pn4fU0ifCmteFjWl6X+Mz3ZIdwHK/mxI dlpywN5OtSrRlZ3Lf3s/tqwYzgylbDP7M/PmwTfHHsB6ChEVLgyiGo3CEbHnrMxdrMoL5XNxM 5LBKQDJ/ElEywocEwv0GLvznbDWxRGo4N5V0seBFhFHJi+86lHGjE6hoCs4MOnSVDbcQqAA6z 7LwdZjI/fLMVNuAsg3yZE4xb+pf9QLRsDKAieCZhk0CX2neh2V96axmRJGkVPvWEbv+Caftxo SiG7LH58Nr4+N+kPJhMhRDfvOBpvvfP9RxIwkJIFezoy/mNKC+4BZ6ciwQOuE4zaWOuii0ETn JdAinu3iJxf+bvouvEHLYejkbsxwmwi9StXlE7q7db0f4IsZFmBG+wKuOZYP89HGTg1BTCy56 TjyW0croMWkpUWdLu3/79CRnla2OxUbJqpKAQZb4ikM77NuwI23PgzmqlfQE5iwKHvRv+Gxsj SMPumoZMq3lKYOtA1YbwsHAGdCupiF93GaMHs65hmT5VhHqNtFOr+CFMP+n8iOtxX3Q9FsutE nJSaur81Hk6SZVuHch0bIMWp3nEbNtZ8gUxk+HIQ9HVcuYokhUeZNrldrvUamBCv4vyMfV9// lCwsh3HXLxCVvYsT4URHFqan4V1qI0dkQXY8g8WMJ0FvmOfIyrgxI4NgDYnuCI+HxTfMrGqhU qBU9d723tw5+Ri5VriP6HAOg/5koZQlTEyn1hmPAE4eHnQrZxcaFo44yuspxo8RmdVAeBZUDC GBc9ODZpGr/LNP1MFv2UfzmyYusVJHNK5QRA9mRzSS9fY/7YWFIjGJHIHv/zZyrXpnGR3pQ8v mluimmSYAZwpyJgU8561aYF8gNmf4YBpAlB2xRFg4RGLb+6KFhYe8U1v0hHlMQ6YK0Rgjg9yK LomMpZIQEamF7anzR+mvbBD5xan1rKTbQNw+mz4ysEeQ== X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thomas Wolff via Cygwin Reply-To: Thomas Wolff Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 57U8Wqo01835823 Am 30.08.2025 um 05:11 schrieb Takashi Yano via Cygwin: > On Thu, 28 Aug 2025 05:36:06 +0200 > Thomas Wolff wrote: >> 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? > Thanks for the report. I fixed the Ctrl^O (FLUSHO) handling. > Please try cygwin-3.7.0-dev-286-g7b5fb35e. Thanks a lot! That works. I'll aks the OP to retest when the next test release is available for setup. -- 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