delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/02/28/11:04:24

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Date: 28 Feb 2001 10:57:22 -0500
Message-ID: <20010228155722.21696.qmail@lizard.curl.com>
From: Jonathan Kamens <jik AT curl DOT com>
To: cygwin AT cygwin DOT com
Subject: Make hung in WaitForMultipleObjects inside Cygwin

We're seeing occasional hangs in our builds where Make hangs in a call
to WaitForMultipleObjects inside cygwin1.dll, but we don't know what
it's waiting for because it in fact has no child processes to wait on.
I determined where Make is hung by attaching to it with the Developer
Studio debugger.

It's probably significant that we run Make with "-j2" on a dual
processor machine.  We are using cygwin-1.1.8-2 and make-3.79.1-2.

When I exited from the debugger, the Make process and its parent also
exited, but *its* parent, another Make process stayed hung.  It also
showed "I" in the first column of the output of "ps" (the lowermost
hung process to which I'd previously attached did not).  This process,
too, was hung in WaitForMultipleObjects inside cygwin1.dll.  This
time, when I exited from the debugger, my build restarted.

We're not sure what the best way to proceed is in terms of debugging
this.  We're going to try running builds over and over under strace
until the problem recurs, but this approach is problematic because (a)
strace produces a huge amount of output, (b) it's entirely possible
that strace will change the timing of the build enough that the
problem won't happen, and (c) strace slows down the build, which means
it'll take longer for us to get the problem to happen under smake (our
builds take an hour on our fastest machine, so we can't churn them out
particularly quickly when debugging something like this).

Another approach I'm considering is to compile both cygwin1.dll and
make with debugging symbols and install them without stripping.  If I
do that, and then Make hangs and I attach to it with gdb, will I
be able to get a useful backtrace showing which call to
WaitForMultipleObjects is hanging and what the various variables
related to that call are?

Please offer any advice you can about how to proceed at debugging this
so that we can track down the problem and fix it.

Thanks,

  Jonathan Kamens

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019