stderr output from .NET apps causes shell hangs when cygwin is not running in Windows console

Barry Kelly bkelly.ie@gmail.com
Fri Jun 8 04:00:00 GMT 2012


This C# app:

class err
{
  static void Main()
  {
    System.Console.Error.WriteLine("err");
  }
}

compiled with any csc.exe:

$(cygpath -u $WINDIR)/Microsoft.net/framework/*/csc.exe

This app (call it err.exe) when run, hangs for me when Cygwin is running
in anything other than a Windows console.

In a Windows console running bash, it works fine and "err" shows up on
the console.

In an rxvt console running bash or dash, err.exe exits without any
output showing, and the shell hangs with rxvt using 100% of a core,
looks like 75% main thread and 25% cygwin thread bouncing off one
another on a mutex. If I kill the shell (bash.exe or dash.exe), then
rxvt also exits.

In a mintty console running bash or dash, err.exe exits without any
output showing, and the shell hangs in an apparent deadlock.

In all cases, it looks like the shell is deadlocked, via a path through
cygwin1.dll, on a WaitForMultipleObjects call, judging by the thread
stack in process explorer.

This has been happening for me on two machines since I recently updated
a fairly old 1.7 Cygwin installation to the latest.

Running Windows 7 x64; cygcheck reports cygwin ver 1.7.15-1.

-- Barry

-- 
http://blog.barrkel.com/

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



More information about the Cygwin mailing list