public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Koichi Murase <myoga.murase@gmail.com>
To: cygwin@cygwin.com
Subject: Re: Cygwin 3.1.2: Every call of exec(2) in the session starts to create a console window after some TTY outputs from programs compiled with "-mwindows"
Date: Tue, 21 Jan 2020 02:31:00 -0000	[thread overview]
Message-ID: <CAFLRLk-gUTRWzKsZgj_wxQHYizOk47jRk5gutEGj+EPQk6fp0Q@mail.gmail.com> (raw)
In-Reply-To: <b6fd0235-e921-d464-662b-36ec6acbaa55@gmail.com>

2020年1月20日(月) 15:17 Marco Atzeri <marco.atzeri@gmail.com>:
>
> I can not replicate with latest snapshot
>
> $ uname -a
> CYGWIN_NT-10.0 LAPTOP-82F08ILC 3.1.2s(0.340/5/3) 2020-01-14 16:33 x86_64
> Cygwin
>
> $ mintty --version
> mintty 3.1.0 (x86_64-pc-cygwin)
> ...
>
> $ for i in {0..99}; do date; done | uniq -c
>        6 Mon, Jan 20, 2020  8:15:49 AM
>       18 Mon, Jan 20, 2020  8:15:50 AM
>       19 Mon, Jan 20, 2020  8:15:51 AM
>       16 Mon, Jan 20, 2020  8:15:52 AM
>       20 Mon, Jan 20, 2020  8:15:53 AM
>       21 Mon, Jan 20, 2020  8:15:54 AM

Thank you for the information.  I found that the locale also matters.
The problem is not yet fixed in the snapshot and also the latest
commit of the git repository.


Repeat-By:

  I update the steps to reproduce the problem:

  1. Open Cygwin Terminal
  2. Run the following commands

    $ LANG=ja_JP.UTF-8
    $ mintty --version
    $ for a in {0..99}; do date; done | uniq -c


Locale:

  I found that the problem is reproduced when LANG=ja_JP.UTF-8.  I
  tried LANG=C and LANG=en_US.UTF-8, but the problem was not present
  with these locales.  I tried several locales as follows.  It appears
  it is related to multi-byte character sets, and also the problem
  does not occur if UTF-8 is not specified.

  * Not reproduced with: en_US.UTF-8, en_GB.UTF-8, de_DE.UTF-8,
    fr_FR.UTF-8, ru_RU.UTF-8, ja_JP

  * Reproduced with: ja_JP.UTF-8, ja_JP.utf8, zh_CN.UTF-8,
    zh_TW.UTF-8, ko_KR.UTF-8

  Next I tried to find out which locale category causes the problem,
  but the problem is not reproduced by just specifying a locale for
  one locale category.  I tried the following, but none reproduced the
  problem.

    $ LANG=en_US.UTF-8 LC_CTYPE=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c
    $ LANG=en_US.UTF-8 LC_COLLATE=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c
    $ LANG=en_US.UTF-8 LC_MESSAGES=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c
    $ LANG=en_US.UTF-8 LC_NUMERIC=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c
    $ LANG=en_US.UTF-8 LC_TIME=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c
    $ LANG=en_US.UTF-8 LC_MONETARY=ja_JP.UTF-8; mintty --version
    $ for a in {0..99}; do date; done | uniq -c

  Other interesting observations are

  1. To reproduce the problem, LANG needs not be set to
    ja_JP.UTF-8 when "mintty --version" runs, i.e., it can be
    reproduced with:

    $ mintty --version
    $ LANG=ja_JP.UTF-8
    $ for a in {0..99}; do date; done | uniq -c

  2. Once the exec starts to create a console window, the problem
    persists even after resetting LANG to a non-problematic one:

    $ mintty --version
    $ LANG=en_US.UTF-8
    $ for a in {0..99}; do date; done | uniq -c
    <No problems>
    $ LANG=ja_JP.UTF-8
    $ for a in {0..99}; do date; done | uniq -c
    <Many flashing console windows>
    $ LANG=en_US.UTF-8
    $ for a in {0..99}; do date; done | uniq -c
    <Still there are many console windows>


Cygwin Versions:

  In my environments, it is reproduced with the latest snapshot as
  well.  I also tried the latest version of the git repository, but
  the problem has not yet fixed.  I tried the following versions, but
  with all the versions the same problem occurs:

  1. Cygwin 3.1.2

  $ uname -a
  CYGWIN_NT-10.0 letsnote2019 3.1.2(0.340/5/3) 2019-12-21 15:25 x86_64
  Cygwin

  2. Snapshot 2020-01-14 from https://cygwin.com/snapshots/

  $ uname -a
  CYGWIN_NT-10.0 letsnote2019 3.1.2s(0.340/5/3) 2020-01-14 16:33 x86_64
  Cygwin

  3. Commit 85aff2830 from git://sourceware.org/git/newlib-cygwin.git

  $ uname -a
  CYGWIN_NT-10.0 letsnote2019 3.1.2(0.340/5/3) 2020-01-19 15:12 x86_64
  Cygwin

  4. Commit 4261a8f5c from git://sourceware.org/git/newlib-cygwin.git

  $ uname -a
  CYGWIN_NT-10.0 letsnote2019 3.1.2(0.340/5/3) 2020-01-21 00:57 x86_64
  Cygwin

  Also, this is not a specific problem of one computer because I tried
  with two laptops and both reproduce the same problem.


Best,

Koichi

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

  reply	other threads:[~2020-01-21  2:31 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-20  6:13 Koichi Murase
2020-01-20  7:17 ` Marco Atzeri
2020-01-21  2:31   ` Koichi Murase [this message]
2020-01-21  2:47     ` Takashi Yano
2020-01-23 10:49       ` Cygwin 3.3.0: The programs compiled with "-mwindows" cannot read more than one byte from noncanonical mode TTY Koichi Murase
2020-01-23 11:33         ` Takashi Yano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFLRLk-gUTRWzKsZgj_wxQHYizOk47jRk5gutEGj+EPQk6fp0Q@mail.gmail.com \
    --to=myoga.murase@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).