Web lists-archives.com

Re: Odd hang in python waiting for child; strace wakes hung process?




On Mar 21 23:41, Brian Inglis wrote:
> On 2018-03-21 16:07, Dan Kegel wrote:
> > On Wed, Mar 21, 2018 at 11:54 AM, Achim Gratz <Stromeko@xxxxxxxx> wrote:
> >> Well, with the sporadic hanging/defunct processes at work my routine is
> >> to send CONT to all Cygwin processes, then HUP/KILL to anything that's
> >> still not live or gone and then another round of CONT.  This works
> >> _most_ of the time, anything more stubborn I /bin/kill -f usually.
> > 
> > Since I wrote, both bots hung again.  This time I verified:
> > 0) both had the defunct git process as expected
> > 1) kill -CONT the-pid doesn't do anything, nor does kill -9.  It's truly wedged.
> > 2) the process stays in its spin hang until you ^C strace -p the-pid
> > 3) ^C-ing the strace causes the process to terminate (strace alone doesn't)
> > 4) taskkill /pid the-task /f also kills the process successfully.
> > 
> > So I could write a script that watched for defunct git processes
> > and taskkilled their parent.  Build jobs would fail, but at least
> > the bot would stay up.  Of course it would be much nicer if
> > the cygwin python process didn't get wedged.
> > 
> > Alternately, I suppose I could try running native python...
> > or cygwin's python3... but dangit, kill -9 should work.
> 
> Seems to be looping on access failure to a Windows mailslot; not sure what this
> feature is normally used for: dmesg/syslog messages/AF_UNIX sockets?

/dev/kmsg is implemented using a mailslot under the hood.  This
feature is only used to log exceptions and for nothing else since
nobody ever found another reason to use it for.

It would be interesting to learn if the perl hangs have the same reason.

I guess we can simply remove /dev/kmsg support completely and drop
the mailslot code.  I'm pretty sure nobody would miss it.  Hardly
anybody knows it exists...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature