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 <psm...@gnu.org> 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 _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make