Post Windows 10 update Cygwin+Emacs+shell+cmd.exe freezes

Galbraith, Randy 1 Reputation point
2021-02-03T15:39:33.93+00:00

Hi Everyone.

Please note: I posted this question to the Cygwin mail list. I am
asking it here too because I suspect it may be related to a recent
Windows 10 update.

My long used work flow has recently stopped working. I'm trying to
understand why and how it could be resolved. The failing steps are:

Cygwin64 Terminal (bash prompt)
startx -- :1 -multiwindow -clipboard &
xterm
emacs -q
M-x shell
$ cmd

I expect to get a Windows 10 command prompt that works. Instead the shell buffer display cmd output incorrectly formatted (e.g. extra white space) and when I type a command like dir it freezes.

I suspect this may be an issue related to a recent Windows 10 update
that in turn has changed the way cmd interacts with Cygwin bash and
Emacs. I have completed a re-install to the latest version (as of
2/1/2021). Alas, this did not resolve the problem.

** details **
$ uname -r
3.1.7(0.340/5/3)
GNU Emacs 27.1 (build 1, x86_64-pc-cygwin, GTK+ Version 3.22.28)
of 2020-10-29
** details end **

See below for shell buffer and cygcheck output.

Kind regards,
-Randy Galbraith

** shell buffer **
^[]0;~^G
xxxxxxxxx@xxxxxxxxxxx ~
$ cmd
<snip malformed output>

                       $ Microsoft Windows [Version 10.0.17763.1697]

(c) 2018 Microsoft Corporation. All rights reserved.

C:\cygwin64\home\xxxxxxxxx>dir
dir
^ frozen at this point
** shell buffer end **

** cygcheck output **
Cygwin Configuration Diagnostics
Current System Time: Tue Feb 02 18:21:31 2021

Windows 10 Enterprise Ver 10.0 Build 17763

Path: C:\cygwin64\usr\local\bin
C:\cygwin64\bin
C:\cygwin64\home\xxxxxxxxx\bin
C:\Windows\system32
C:\Windows
C:\Program Files\Git\cmd

Output from C:\cygwin64\bin\id.exe
<snip sensitive data>

SysDir: C:\WINDOWS\system32
WinDir: C:\WINDOWS

USER = 'xxxxxxxxx'
PWD = '/home/xxxxxxxxx'
HOME = '/home/xxxxxxxxx'

HKEY_CURRENT_USER\Software\Cygwin
HKEY_CURRENT_USER\Software\Cygwin\Installations
(default) = '\??\C:\cygwin64'
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\DefaultIcon
(default) = 'C:\cygwin64\bin\xlaunch.exe.exe,1'
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\Shell
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\Shell\Edit
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\Shell\Edit\command
(default) = '"C:\cygwin64\bin\run.exe" --quote "C:\cygwin64\bin\bash.exe" -l -c "xlaunch -load \"$(cygpath '%1')\""'
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\Shell\Open
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\XLaunch.cygwin\Shell\Open\command
(default) = '"C:\cygwin64\bin\run.exe" --quote "C:\cygwin64\bin\bash.exe" -l -c "xlaunch -run \"$(cygpath '%1')\""'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Installations
(default) = '\??\C:\cygwin64'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup
(default) = 'C:\cygwin64'
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Tanium\Tanium Client\Sensor Data\Applications\cygwin-console-helper

obcaseinsensitive set to 1

Cygwin installations found in the registry:
System: Key: xxxxxxxxxxxxxxxx Path: C:\cygwin64
User: Key: xxxxxxxxxxxxxxxx Path: C:\cygwin64

c: hd NTFS xxxxxxMb 67% CP CS UN PA FC QU OSDisk
d: cd N/A N/A
<snip>

C:\cygwin64 / system binary,auto
C:\cygwin64\bin /usr/bin system binary,auto
C:\cygwin64\lib /usr/lib system binary,auto
cygdrive prefix /cygdrive user binary,posix=0,auto

Found: C:\cygwin64\bin\awk
-> C:\cygwin64\bin\gawk.exe
Found: C:\cygwin64\bin\bash.exe
Found: C:\cygwin64\bin\cat.exe
<snip>

92k 2015/02/12 C:\cygwin64\bin\cygaa-1.dll
<snip>
3473k 2020/08/22 C:\cygwin64\bin\cygwin1.dll
Cygwin DLL version info:
DLL version: 3.1.7
DLL epoch: 19
DLL old termios: 5
DLL malloc env: 28
Cygwin conv: 181
API major: 0
API minor: 340
Shared data: 5
DLL identifier: cygwin1
Mount registry: 3
Cygwin registry name: Cygwin
Installations name: Installations
Cygdrive default prefix:
Build date:
Shared id: cygwin1S5

No Cygwin services found.

Cygwin Package Information
Package Version Status
_autorebase 001007-1 OK
<snip>
emacs 27.1-2 OK
emacs-common 27.1-2 OK
emacs-X11 27.1-2 OK
<snip>
zstd 1.4.8-1 OK
Use -h to see help about each section
** cygcheck output end **

Windows 10
Windows 10
A Microsoft operating system that runs on personal computers and tablets.
11,862 questions
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Reza-Ameri 17,006 Reputation points
    2021-02-03T16:55:56.117+00:00

    Try do a quick test and uninstall the update which you just installed and restart your PC (you may uninstall it from Control Panel) and check and see if problem persist?
    If yes, then open start and search for feedback and open Feedback Hub app and report this issue.

    0 comments No comments

  2. Randy Galbraith 16 Reputation points
    2021-02-03T18:34:10.747+00:00

    Hi Reza-Ameri.

    Thanks for your reply. In response to your suggestion I restarted Windows 10 and tried the failure steps. There was no change. cmd froze in the same manner as before. This copy of Windows 10 has been provided by our corporate IT department. Thus, it was not an upgrade that I personally installed. I also would not have the ability to uninstall any upgrade. Indeed I should have made it more clear that an upgrade is merely my guess. I believe an upgrade is in play because the problem occurred immediately after a scheduled weekend reboot of Windows 10 when such upgrades are often pushed out. It is also true Cygwin+Emacs+shell tools had not be changed nor had I altered my work-flow in a long time (e.g. years).

    If there is a command to show what has been recently upgrade I would be happy to run that. I would need some direction since my expertise is now more with GNU/Linux than the Windows OS.

    Kind regards, -Randy
    ps. I'm replying here from my home computer using my personal account. An attempt to sign-in to reply from work, did not work.

    0 comments No comments

  3. Randy Galbraith 16 Reputation points
    2021-02-04T17:28:56.563+00:00

    Hi Reza-Ameri & et. al.

    The issue can be resolved by setting an environment variable prior to running Emacs.

    env CYGWIN=disable_pcon emacs -q

    Much thanks goes out to Takashi Yano who responded to my plea for help on the Cygwin email support list.

    Kind regards, -Randy


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.