Just an idea that may be worth trying:
Make something like a /usr/local/bin/tracedmake
#!/bin/sh strace -o /tmp/dmake-trace-$$ --flush-period=10 dmake $*
And try the build with MAKE=tracedmake, then when a make hangs, you should be able to see the trace output in the last /tmp/dmake-trace* file for where or in what process the dmake hangs.
Nice idea, I did something similar yesterday evening. I had to only keep the last strace output, because each file was in the order of 50MB to 500MB and I implemented a counter to get an idea for the number of started dmake processes. At the moment we are at 580, it is still running.
But unfortunately the use of strace slows things down so that we are at approx 30% of the build now (It normaly takes 10h to build OOo on that system) and there wasn't a freeze yet. We'll see.
I already build dmake with -g.Also if you compile dmake with debugging (gcc -g) you might then be able to attach with CYGWIN=notty gdb --pid=<dmake-pid>.
If it's stuck inside the Cygwin dll, which is likely, then it would help to compile the Cygwin dll from CVS, with --enable-debugging, and then you'd be able to see where things are hanging in gdb with "dll cygwin1".
I guess that will be the next step, but it takes a long time to reproduce the problem. One try per night ;-)
Also, any thoughts on how a smaller test case could be constructed without trying to compile the whole of openoffice? Any pattern you notice about the places where dmake hangs?
No, I only had three freezes right now (On each try with the 1.5.7 dll) but they came at different places after a few hours in the build.
There was another mail today that was reporting a problem with make, maybe that is a better way to reproduce the problem.
Volker -- PGP/GPG key (ID: 0x9F8A785D) available from wwwkeys.de.pgp.net key-fingerprint 550D F17E B082 A3E9 F913 9E53 3D35 C9BA 9F8A 785D
signature.asc
Description: OpenPGP digital signature