[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: EAGAIN in "read jobs pipe"
From: |
James Coleman |
Subject: |
Re: EAGAIN in "read jobs pipe" |
Date: |
Tue, 09 Jan 2007 10:32:03 +0000 |
User-agent: |
Thunderbird 1.5.0.9 (Windows/20061207) |
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.
- EAGAIN in "read jobs pipe", Ken Takusagawa, 2007/01/09
- Re: EAGAIN in "read jobs pipe",
James Coleman <=
- Re: EAGAIN in "read jobs pipe", Paul Smith, 2007/01/09
- Re: EAGAIN in "read jobs pipe", James Coleman, 2007/01/09
- RE: EAGAIN in "read jobs pipe", lasse.makholm, 2007/01/10
- Re: EAGAIN in "read jobs pipe", Howard Chu, 2007/01/10
- Re: EAGAIN in "read jobs pipe", james coleman, 2007/01/10
- Re: EAGAIN in "read jobs pipe", Howard Chu, 2007/01/10
- Re: EAGAIN in "read jobs pipe", Paul Smith, 2007/01/10