bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make-3.82 testcases fail *sometimes*


From: Paul Smith
Subject: Re: make-3.82 testcases fail *sometimes*
Date: Tue, 31 Aug 2010 10:40:55 -0400

On Tue, 2010-08-31 at 16:10 +0200, Matthias Hopf wrote:
> In effect, the tests of make 3.81 failed on our build systems every now
> and then. For 3.82 this is worse, I was able to sometimes fail one of
> the tests even on my local workstation with 8 cores and not too much
> stuff running otherwise. It was one of the targets/SECONDARY, though,
> without the use of any sleep.

Looking at that rule I can see why it might easily show incorrectly.
I'll think about how to best fix this.  I'm inclined to simply make the
cp commands silent (prefixed with "@") and let the error message if the
file doesn't exist indicate the order error.  But I'll need to look at
the details of why that test was created.

> I already wrote that this issue exists when make version 3.81 was
> released, and the discussion wasn't exactly long or productive.

It's hard for me to track issues long term via email.  Is there a
Savannah bug filed about this?  That's the best way to make sure it's
not forgotten about.

For bugs related to the test suite I really need the entire work
directory, not just a description and a patch.

> > Maybe we could do something like use locking files (one process sleeps
> > for a second and creates file X, another process waits for file X to
> > exist then sleeps for a second and continues).  The problem here is
> > doing it in a portable way, so it works on both UNIX and Windows (for
> > example) systems is not so simple.
> 
> As the files don't have to be locked, but rather only created and tested
> for existence (if using single use names), I think this would be
> possible to do. Let me think about it.

Right, I didn't mean flock() or something; I just meant test for
existence.  But, doing a loop waiting for a file to exist in a UNIX
shell vs. Windows command.com (for example) is not simple.

I don't think deadlocks are a problem here: we aren't trying to test a
cycle in the graph (there cannot be a cycle), we just want to be sure
things are created in the right order.

The first thing we should probably do is determine if the test suite
runs on Windows and if so which of the Windows variations it supports
(cygwin/mingw/native windows32/dos/etc.)

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]