Hanging cygwin processes in Windows Server 2019

chris.hardison@yahoo.com chris.hardison@yahoo.com
Mon Oct 18 12:01:35 GMT 2021


 The problem seems to be that my cygwin processes that are always the child or grandchild of a windows service use a console device that is block buffered rather than character buffered.  So using mintty to start those processes forces character buffered which solves the problem.  I'm looking for cleaner way to force character buffered IO.  Here's an example of the change:
From 
chomp(@output = `/cygwin/bin/ps -W`);TO
chomp(@output = `/cygwin/bin/mintty.exe -w hide /bin/dash -c "/bin/ps -W > /tmp/${PID}.out"; sleep 1; type /cygwin/tmp/${PID}.out; del /cygwin/tmp/${PID}.out`);
Hopefully someone can suggest a simpler solution.
Thanks!chris



    On Thursday, September 30, 2021, 01:26:37 PM EDT, chris.hardison--- via Cygwin <cygwin@cygwin.com> wrote:  
 
 My cygwin install looks good and things seem to work perfectly for some time (hours or days), then a cygwin process started by a windows process that is usually a child process of a windows service written in perl will hang and then most all other cygwin processes will hang or take a very long time to return.  The simplest example is a call to \cygwin\bin\ps from powershell. That normally returns with sub-second response time.  Once the problem occurs that call to \cygwin\bin\ps will often take several minutes to return.  I've found that killing all cygwin processes will temporarily resolve the problem.
I've read about redirecting NUL to stdin when making the call to cygwin processes from windows and that didn't seem to help.
I've tried "set-processmitigation -name \cygwin\bin\ps.exe -disable ForceRelocateImages" with no real benefit.
I've also tried "\cygwin\bin\dash -c /bin/rebaseall" on startup before the sshd service starts and that didn't seem to help.
Any suggestions on how to prevent this problem will be greatly appreciated.
Thanks!chris


$ cygcheck -v /usr/bin/perl
C:\Windows\Cygwin\bin\perl.exe - os=4.0 img=1.0 sys=4.0
  "perl.exe" v0.0 ts=2021-02-06 11:46
  C:\Windows\Cygwin\bin\cygperl5_32.dll - os=4.0 img=1.0 sys=4.0
    "cygperl5_32.dll" v0.0 ts=2021-02-06 11:44
    C:\Windows\Cygwin\bin\cygcrypt-2.dll - os=4.0 img=1.0 sys=4.0
      "cygcrypt-2.dll" v0.0 ts=2021-05-20 09:20
      C:\Windows\Cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
        "cygwin1.dll" v0.0 ts=2021-03-29 09:37
        C:\Windows\system32\KERNEL32.dll - os=10.0 img=10.0 sys=10.0
          "KERNEL32.dll" v0.0
          C:\Windows\system32\ntdll.dll - os=10.0 img=10.0 sys=10.0
            "ntdll.dll" v0.0 ts=2010-05-08 14:49
          C:\Windows\system32\KERNELBASE.dll - os=10.0 img=10.0 sys=10.0
            "KERNELBASE.dll" v0.0 ts=1979-12-01 09:56
            C:\Windows\system32\ntdll.dll (already done)
        C:\Windows\system32\ntdll.dll (already done)
      C:\Windows\Cygwin\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
        "cyggcc_s-1.dll" v0.0 ts=2020-09-12 12:49
        C:\Windows\Cygwin\bin\cygwin1.dll (already done)
        C:\Windows\system32\KERNEL32.dll (already done)
      C:\Windows\system32\KERNEL32.dll (already done)
    C:\Windows\Cygwin\bin\cygwin1.dll (already done)
    C:\Windows\Cygwin\bin\cyggcc_s-1.dll (already done)
    C:\Windows\system32\KERNEL32.dll (already done)
  C:\Windows\Cygwin\bin\cygwin1.dll (already done)
  C:\Windows\system32\KERNEL32.dll (already done)

$ cygcheck -v /usr/bin/ps
C:\Windows\Cygwin\bin\ps.exe - os=4.0 img=1.0 sys=4.0
  C:\Windows\Cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
    "cygwin1.dll" v0.0 ts=2021-03-29 09:37
    C:\Windows\system32\KERNEL32.dll - os=10.0 img=10.0 sys=10.0
      "KERNEL32.dll" v0.0
      C:\Windows\system32\ntdll.dll - os=10.0 img=10.0 sys=10.0
        "ntdll.dll" v0.0 ts=2010-05-08 14:49
      C:\Windows\system32\KERNELBASE.dll - os=10.0 img=10.0 sys=10.0
        "KERNELBASE.dll" v0.0 ts=1979-12-01 09:56
        C:\Windows\system32\ntdll.dll (already done)
    C:\Windows\system32\ntdll.dll (already done)
  C:\Windows\system32\ADVAPI32.dll - os=10.0 img=10.0 sys=10.0
    "ADVAPI32.dll" v0.0
    C:\Windows\system32\msvcrt.dll - os=10.0 img=10.0 sys=10.0
      "msvcrt.dll" v0.0
      C:\Windows\system32\ntdll.dll (already done)
      C:\Windows\system32\KERNELBASE.dll (already done)
    C:\Windows\system32\ntdll.dll (already done)
    C:\Windows\system32\KERNELBASE.dll (already done)
    C:\Windows\system32\SECHOST.dll - os=10.0 img=10.0 sys=10.0
      "SECHOST.dll" v0.0
      C:\Windows\system32\ntdll.dll (already done)
      C:\Windows\system32\RPCRT4.dll - os=10.0 img=10.0 sys=10.0
        "RPCRT4.dll" v0.0
        C:\Windows\system32\ntdll.dll (already done)
        C:\Windows\system32\SspiCli.dll - os=10.0 img=10.0 sys=10.0
          "SspiCli.dll" v0.0 ts=2036-05-08 21:49
          C:\Windows\system32\ntdll.dll (already done)
          C:\Windows\system32\RPCRT4.dll (recursive)
          C:\Windows\system32\CRYPTBASE.dll - os=10.0 img=10.0 sys=10.0
            "CRYPTBASE.dll" v0.0
            C:\Windows\system32\ntdll.dll (already done)
            C:\Windows\system32\bcryptPrimitives.dll - os=10.0 img=10.0 sys=10.0
              "bcryptPrimitives.dll" v0.0
              C:\Windows\system32\ntdll.dll (already done)
        C:\Windows\system32\KERNELBASE.dll (already done)
    C:\Windows\system32\KERNEL32.dll (already done)
    C:\Windows\system32\RPCRT4.dll (already done)
  C:\Windows\system32\KERNEL32.dll (already done)
  C:\Windows\system32\ntdll.dll (already done)

$ cygcheck -v /usr/bin/ssh
C:\Windows\Cygwin\bin\ssh.exe - os=4.0 img=1.0 sys=4.0
  C:\Windows\Cygwin\bin\cygcrypto-1.1.dll - os=4.0 img=1.0 sys=4.0
    "cygcrypto-1.1.dll" v0.0 ts=2020-04-08 19:02
    C:\Windows\Cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
      "cygwin1.dll" v0.0 ts=2021-03-29 09:37
      C:\Windows\system32\KERNEL32.dll - os=10.0 img=10.0 sys=10.0
        "KERNEL32.dll" v0.0
        C:\Windows\system32\ntdll.dll - os=10.0 img=10.0 sys=10.0
          "ntdll.dll" v0.0 ts=2010-05-08 14:49
        C:\Windows\system32\KERNELBASE.dll - os=10.0 img=10.0 sys=10.0
          "KERNELBASE.dll" v0.0 ts=1979-12-01 09:56
          C:\Windows\system32\ntdll.dll (already done)
      C:\Windows\system32\ntdll.dll (already done)
    C:\Windows\Cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0
      "cygz.dll" v0.0 ts=2017-03-03 21:51
      C:\Windows\Cygwin\bin\cygwin1.dll (already done)
      C:\Windows\Cygwin\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0
        "cyggcc_s-1.dll" v0.0 ts=2020-09-12 12:49
        C:\Windows\Cygwin\bin\cygwin1.dll (already done)
        C:\Windows\system32\KERNEL32.dll (already done)
      C:\Windows\system32\KERNEL32.dll (already done)
    C:\Windows\Cygwin\bin\cyggcc_s-1.dll (already done)
    C:\Windows\system32\KERNEL32.dll (already done)
  C:\Windows\Cygwin\bin\cygwin1.dll (already done)
  C:\Windows\Cygwin\bin\cyggssapi_krb5-2.dll - os=4.0 img=1.0 sys=4.0
    "cyggssapi_krb5-2.dll" v0.0 ts=2018-03-16 03:46
    C:\Windows\Cygwin\bin\cygk5crypto-3.dll - os=4.0 img=1.0 sys=4.0
      "cygk5crypto-3.dll" v0.0 ts=2018-03-16 03:45
      C:\Windows\Cygwin\bin\cygkrb5support-0.dll - os=4.0 img=1.0 sys=4.0
        "cygkrb5support-0.dll" v0.0 ts=2018-03-16 03:44
        C:\Windows\Cygwin\bin\cygwin1.dll (already done)
        C:\Windows\Cygwin\bin\cygintl-8.dll - os=4.0 img=1.0 sys=4.0
          "cygintl-8.dll" v0.0 ts=2021-07-29 03:43
          C:\Windows\Cygwin\bin\cygwin1.dll (already done)
          C:\Windows\Cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0
            "cygiconv-2.dll" v0.0 ts=2020-07-13 13:57
            C:\Windows\Cygwin\bin\cygwin1.dll (already done)
            C:\Windows\system32\KERNEL32.dll (already done)
          C:\Windows\system32\KERNEL32.dll (already done)
        C:\Windows\system32\KERNEL32.dll (already done)
      C:\Windows\Cygwin\bin\cygwin1.dll (already done)
      C:\Windows\Cygwin\bin\cygintl-8.dll (already done)
      C:\Windows\system32\KERNEL32.dll (already done)
    C:\Windows\Cygwin\bin\cygkrb5-3.dll - os=4.0 img=1.0 sys=4.0
      "cygkrb5-3.dll" v0.0 ts=2018-03-16 03:45
      C:\Windows\Cygwin\bin\cygk5crypto-3.dll (already done)
      C:\Windows\Cygwin\bin\cygkrb5support-0.dll (already done)
      C:\Windows\Cygwin\bin\cygcom_err-2.dll - os=4.0 img=1.0 sys=4.0
        "cygcom_err-2.dll" v0.0 ts=2019-01-02 01:21
        C:\Windows\Cygwin\bin\cygwin1.dll (already done)
        C:\Windows\Cygwin\bin\cyggcc_s-1.dll (already done)
        C:\Windows\system32\KERNEL32.dll (already done)
      C:\Windows\Cygwin\bin\cygwin1.dll (already done)
      C:\Windows\Cygwin\bin\cygintl-8.dll (already done)
      C:\Windows\Cygwin\bin\cyggcc_s-1.dll (already done)
      C:\Windows\system32\KERNEL32.dll (already done)
    C:\Windows\Cygwin\bin\cygkrb5support-0.dll (already done)
    C:\Windows\Cygwin\bin\cygcom_err-2.dll (already done)
    C:\Windows\Cygwin\bin\cygwin1.dll (already done)
    C:\Windows\Cygwin\bin\cygintl-8.dll (already done)
    C:\Windows\system32\KERNEL32.dll (already done)
  C:\Windows\Cygwin\bin\cygz.dll (already done)
  C:\Windows\Cygwin\bin\cyggcc_s-1.dll (already done)
  C:\Windows\system32\KERNEL32.dll (already done)



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


More information about the Cygwin mailing list