Subject: bug#13086: 24.2.50; Emacs seems to hang at w32proc.c:1126

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Dec 2012 08:43:20 +0200

> Date: Thu, 06 Dec 2012 22:51:16 +0000
> From: Stephen Powell <[email-masked]>
> CC: [email-masked], [email-masked], [email-masked]
> 
> OK, its 9:30 my time and I got to do stuff, but here is what I've found
> so for.

Thanks, we are making good progress, I think.

> 1. Gnus uses the command
> 
> `c:\cygwin\bin\bash.exe -c "openssl s_client -quiet -ssl3 -connect
> imap.mail.yahoo.com:993"'
> 
> which runs for a three or four seconds and exits with 0 as the return
> code.  Emacs keeps track of this process.  Gnus seems to wait for this
> to finish.
> 
> >From the gdb log:
> 
> warning: register_child registered fd 6 with pid 6360
> warning: sys_kill.TerminateProcess returned 5 for pid 6360

I'd like to see a backtrace from where this message comes (in
sys_kill).

> 2. Gnus uses the command
> 
> `c:\cygwin\bin\bash.exe -c "gnutls-cli --insecure -p 995 pop3.live.com"'
> 
> which runs for fifty seconds and exits with 1 as the return code.  Emacs
> loses track of this process.  Gnus does not seem to wait for this to
> finish but carries on quickly.

When you say "keeps track" and "loses track", what specifically do you
mean?  What is different in what Emacs does or displays in these two
cases, evidence do you have that led you to these conclusions?

> >From the gdb log:
> 
> warning: register_child registered fd 6 with pid 7020
> 
> No terminate process but the process has finished.

It would be good to see the series of calls to waitpid in this case,
and also the messages from here:

  #ifdef FULL_DEBUG
		  DebPrint (("select waiting on child %d fd %d\n",
			     cp-child_procs, i));
  #endif

in sys_select, while this process is running and after it exits or
dies.

Thanks again for working on this.