Deadlock of the process tree when running make

Jeremy Drake
Mon Apr 11 17:02:20 GMT 2022

On Mon, 11 Apr 2022, Alexey Izbyshev wrote:

> Yes, sshd is running as a service, but I'm not sure that patch is relevant. In
> my case, the problematic pipe that the hanging conhost.exe is waiting on is
> probably created for that specific conhost.exe process within the process tree
> rooted at "make", which runs as an ordinary user. Also, wouldn't the hang be
> deterministic if the problem were in the pipe ownership?

Yes it would.  I just noticed some of the evidence pointing that way - a
presumably native javac.exe, an anonymous "named pipe" handle, and then
when I saw sshd involved the last piece required for that scenario -
running as a service.  But Takashi's reply sounds like sshd drops the
well-known service sid when it switches to the logged-on user's token

This is both good and bad, I guess.  Bad because your problem may not be
solved yet (though maybe with the latest test dll, fingers crossed!).
Good because there's a mystery hang that's been plaguing me when running
(under emulation) on Windows on ARM64 that the circumstances of that
environment has made virtually impossible to debug, and every commit that
mentions fixing a deadlock gives me new hope that that will be the fix
that makes it go away.

More information about the Cygwin mailing list