[ANNOUNCEMENT] Update: mintty 2.1.2

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Jul 24 13:34:00 GMT 2015


On Jul 24 15:18, Houder wrote:
> Hi Thomas,
> 
> >>> mintty 2.1.2 is an update in response to a number of crash reports under
> >>> unclear circumstances;
> > To resolve this discomforting issue which I still cannot reproduce,
> > could please those who experience a crash report some details about
> > their calling environment?
> > Could the issue be related to the occasional fork() resource problems in
> > cygwin?
> 
> ... euh, I do not believe so (in my case) ... I installed v211 using setup, which as
> you know, does a full "rebase" ...
> 
> Also using 'setsid mintty' (in case of v113, v203) does not fail ...
> 
> > How much free memory do you have?
> 
>  - my computer has lots of free memory (using less than 2 Gb of 8 Gb)
>  - my environment: using Cygwin (only the traditional tools)
>  - plus: Explorer (and most of the time: Process Explorer from SysInternals)
> 
> I am really surprised, that you (and others?) do not experience crashes (v211, v212
> if -D is specfied). Failure occurs consistent on my side.
> 
> > Maybe setsid() should not be called if fork() fails...
> > Could you try this please:
> >    if (daemonize && !isatty(0)) {
> >      int pid = fork();
> >      if (pid > 0) exit(0);    // exit parent process
> >      if (pid == 0) setsid();  // detach child process
> >      if (pid < 0) {
> >        error("could not detach from caller");
> >        exit(9);
> >      }
> >    }
> 
> Hint: source code of setsid.c -- util-linux package)
> 
> >> (... and I ask myself whether or not the condition '!isatty' is the "correct condition" to
> >>   go "daemon")
> > I wanted to check ttyname() for "/cons" but surprisingly ttyname() was
> > null when started from cygwin console;
> 
> ... I expect ttyname() to return NULL, as mintty is a GUI application ... (and it did, using
> a "small GUI test program"; however it returned /dev/pty0 when executing it from a dos console
> in which mintty had been started). Yes, I am confused).
> 
> As I wrote 'and I asked myself', I was wondering about something like: 'getpid() != 1'

Guys, the Cygwin DLL is as much open source as the other stuff we're
talking about here.  It's a user space DLL, not a kernel driver or
rocket science.  Give debugging a chance.  Ideally build your own Cygwin
DLL with CFLAGS=-g to avoid optimization.  Please don't let me do this
alone and just give up if I don't.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150724/6756f262/attachment.sig>


More information about the Cygwin mailing list