Deadlock of the process tree when running make

Alexey Izbyshev izbyshev@ispras.ru
Thu Apr 7 21:53:31 GMT 2022


Hi,

I'm using 32-bit Cygwin 3.3.4 on 64-bit Windows 10 21H2. When running 
parallel make (for testing my project), very rarely I get the whole 
process tree hanging at some seemingly random point. An example of such 
a tree:

make-+-make-+-bash---find
      |      |-bash---find
      |      |-bash---find
      |      |-bash---find
      |      |-bash---find
      |      `-bash---javac
      `-make-+-bash---bash---bash---readlink
             `-bash---bash---bash-+-grep
                                  `-grep

(In the above tree, javac is the zombie parent of a native javac, and 
the latter doesn't exist at this point).

I got such hang two times while running make in a loop for several days. 
ProcessHacker shows that all leaf processes are single-threaded and are 
stuck on WaitForSingleObject().

I've skimmed git log of cygwin-3_3-branch after cygwin-3_3_4-release, 
but couldn't find anything that seems definitely related.

Has anybody seen something like this?

Is there any way I can get useful data for diagnosing this hang from the 
process tree that I currently have hanging (I'm going to keep it for 
now)? Otherwise, what would be the best strategy?

Thanks,
Alexey


More information about the Cygwin mailing list