From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.13]) by sourceware.org (Postfix) with ESMTPS id F0EEE386F432 for ; Sun, 7 Jun 2020 06:16:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F0EEE386F432 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=none smtp.mailfrom=brian.inglis@systematicsw.ab.ca Received: from [192.168.1.104] ([24.64.172.44]) by shaw.ca with ESMTP id hob9jlBX7ng7KhobAjsthL; Sun, 07 Jun 2020 00:16:01 -0600 X-Authority-Analysis: v=2.3 cv=ecemg4MH c=1 sm=1 tr=0 a=kiZT5GMN3KAWqtYcXc+/4Q==:117 a=kiZT5GMN3KAWqtYcXc+/4Q==:17 a=IkcTkHD0fZMA:10 a=gnL7ej2qmixcg0nvLHwA:9 a=QEXdDO2ut3YA:10 a=pHzHmUro8NiASowvMSCR:22 a=xoEH_sTeL_Rfw54TyV31:22 Reply-To: cygwin@cygwin.com Subject: Re: cygwin-3.1.0 and mintty from desktop shortcut To: cygwin@cygwin.com References: <87pngmx26z.fsf@Rainer.invalid> <20191218090415.GG10310@calimero.vinschen.de> <87a77pbn5j.fsf@Rainer.invalid> <87blp2lr6p.fsf@Rainer.invalid> <20200311195142.GH4042@calimero.vinschen.de> <87d09htlac.fsf@Rainer.invalid> <20200313100325.fe62798353f4c719ecf565e0@nifty.ne.jp> <87v9k4e8zz.fsf@Otto.invalid> <20200607103528.2eaea7de72b0afaa43d0b335@nifty.ne.jp> From: Brian Inglis Autocrypt: addr=Brian.Inglis@SystematicSw.ab.ca; prefer-encrypt=mutual; keydata= mDMEXopx8xYJKwYBBAHaRw8BAQdAnCK0qv/xwUCCZQoA9BHRYpstERrspfT0NkUWQVuoePa0 LkJyaWFuIEluZ2xpcyA8QnJpYW4uSW5nbGlzQFN5c3RlbWF0aWNTdy5hYi5jYT6IlgQTFggA PhYhBMM5/lbU970GBS2bZB62lxu92I8YBQJeinHzAhsDBQkJZgGABQsJCAcCBhUKCQgLAgQW AgMBAh4BAheAAAoJEB62lxu92I8Y0ioBAI8xrggNxziAVmr+Xm6nnyjoujMqWcq3oEhlYGAO WacZAQDFtdDx2koSVSoOmfaOyRTbIWSf9/Cjai29060fsmdsDLg4BF6KcfMSCisGAQQBl1UB BQEBB0Awv8kHI2PaEgViDqzbnoe8B9KMHoBZLS92HdC7ZPh8HQMBCAeIfgQYFggAJhYhBMM5 /lbU970GBS2bZB62lxu92I8YBQJeinHzAhsMBQkJZgGAAAoJEB62lxu92I8YZwUBAJw/74rF IyaSsGI7ewCdCy88Lce/kdwX7zGwid+f8NZ3AQC/ezTFFi5obXnyMxZJN464nPXiggtT9gN5 RSyTY8X+AQ== Organization: Systematic Software Message-ID: Date: Sun, 7 Jun 2020 00:15:59 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200607103528.2eaea7de72b0afaa43d0b335@nifty.ne.jp> Content-Type: text/plain; charset=utf-8 Content-Language: en-CA Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfNv/mqPJE4i3rlwUSN2ova6PAqTiopTUmJQCEPnEB32+QqHWEBi91gi1uXfieJyZd4QpK0Iot4Ggbbt4pac/73QirOqoHUdpEKy4D6VK3I42ir+1swGK RxLJBH8Qo8AxhWl6sHsELDJ21/exraO48AuGdHMVf9Dr9Dxhr3+jvcDQSfDQHZtEXQGzTkzYommyYA== X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, 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@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2020 06:16:04 -0000 On 2020-06-06 19:35, Takashi Yano via Cygwin wrote: > On Sat, 06 Jun 2020 13:20:16 +0200 > ASSI wrote: >> Takashi Yano via Cygwin writes: >>>> 1. Rename /usr/share/locale to something else, like local.bak. >>>> 2. Start mintty in the usual way. >>>> 3. Rename the directory from step 1 back to /usr/share/local. >>>> 4. Work just like the problem never existed either in the shell running >>>> inside the mintty or even start a new mintty. >>> >>> I guess renaming /usr/share/locale/locale.alias is enough. >> >> I've had some time to look into this problem again after having updated >> Cygwin to the latest and greatest. Indeed, when >> >> /usr/share/locale/locale.alias >> >> gets renamed, the problem also goes away. This is great because I don't >> really need the locale aliases for anything. Btw, my laptop got >> upgraded to Win10 1909 (Enterprise) in the meantime, so the issue isn't >> specific to 1803 as was supected earlier. >> >> I then tried to figure out what exactly causes the problem and it turns >> out that it's the _presence_ of this file with the additional condition >> that it must not be owned by the user starting the mintty/shell. Since >> I install Cygwin on my work laptop with a different (admin) account and >> not my (non-admin) user account, that explains why I am seeing the >> problem there and not on other machines. Before you are going to >> suggest that it's the admin vs. non-admin rights: no, if I create a >> locale.alias with my user account (either as an empty file or a copy of >> the backup file), then the admin account is unable to start a shell in >> mintty successfully. I have no idea why the ownership of a file that >> onnly should get read (and is readable by everyone) would have the >> effect I'm seeing, but maybe that gives the clue on where to look for a >> fix. > > Thanks for the additional information. I tested the following steps > to confirm if the problem can be reproduced. > > 1. Enable Administrator account. > 2. Remove all groups from account yano other than Users. > 3. Install cygwin for all with gettext package as Administrator. > 4. Run mintty from desktop shortcut as Administrator. > 5. Run mintty from desktop shortcut as yano. > > Both 4 and 5 successfully open mintty window with shell. > > I wonder what is the difference between my environment and yours. Locale setting? fhandler_tty.cc(fhandler_pty_slave::setup_locale)@2854 calls get_langinfo@2768 calls@2781 nlsfuncs.cc(__set_locale_from_locale_alias)@1462 which opens /usr/share/locale/locale.alias@1472. One problem I see with that is that __set_locale_from_locale_alias is meant to be called when loadlocale fails with an unrecognized locale, but in get_langinfo@2778 if the locale is not found, it is defaulted to C before __set_locale_from_locale_alias is called, defeating the purpose: const char *locale = __loadlocale (&loc, LC_CTYPE, new_locale); if (!locale) locale = "C"; char tmp_locale[ENCODING_LEN + 1]; char *ret = __set_locale_from_locale_alias (locale, tmp_locale); if (ret) locale = tmp_locale; -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada This email may be disturbing to some readers as it contains too much technical detail. Reader discretion is advised. [Data in IEC units and prefixes, physical quantities in SI.]