Ken Takusagawa wrote:
For reasons I haven't completely triaged yet, I've been having my
parallel makes die with
"read jobs pipe: Resource temporarily unavailable.  Stop."

All memory on machine might be used up (real memory + all swap).

e.g. we get this:  virtual memory exhausted: Resource temporarily unavailable

We have some particularily heavy files at compile time and if machines are busy 
(memory-wise) or
if they are low in memory anyway they frequently hit that error and the build 
fails.
Depending on the machine and build this can happen even if not using any 
parallelism.


I hacked the function new_job in job.c such that if errno==EAGAIN,
then we sleep(1) and loop again, and my problem went away.
(Essentially adding EAGAIN to EBADF and EINTR as the ignored signals.)

:) cool! That seems like a good idea.

Rather than scripting to test for successful build and retrying a few times 
maybe make could
do the retry.

James.




_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to