[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make 3.81 + i386-pc-interix* parallelism problem, and "write error"
From: |
Markus Duft |
Subject: |
Re: make 3.81 + i386-pc-interix* parallelism problem, and "write error" |
Date: |
Tue, 24 Mar 2009 07:06:18 +0100 |
On Tue, 2009-03-17 at 17:56 +0100, Markus Duft wrote:
> Hi!
ping...
>
> I'm running make on x86 interix (SFU/SUA). All works like a charm, except
> for occasional problems with multi-core machines (I'm not sure if the same
> problems would occur on single cores too...).
>
> I'm seeing two different problems, the "bader" one being a jobserver token
> leak. Sometimes make exits with messages like this:
>
> make: INTERNAL: Exiting with 3 jobserver tokens available; should be
> 2!
>
> But much worse is the case where make simply hangs, and seems to be out of
> jobserver tokens! Is this a known problem? I tried the patch from [1], but
> that didn't make any difference.
>
> Also I found a patch against 3.80, adding the jobserver_tokens global
> variable, so I assume that one has been incorporated into 3.81, since this
> variable already exists... (?).
>
> I attached the output of this command and the corresponding .diff file:
> while ( cd tests && perl ./run_make_tests.pl features/parallelism
> -make ../make -debug -verbose ); do echo ...; done > xx 2>&1 &
>
> the test-1 log is seemingly another problem, which occurred while I tried to
> faster provocate the error I'm reporting here by putting my 2 core AMD CPU
> under heavy load. Ugh... another one :(
>
> FYI I attached the config.log too, so you can identify potential issues
> caused by assumptions which may be wrong for interix.
>
> [1] http://savannah.gnu.org/bugs/?18124
>
> ----
>
> Now for the second problem, which is far easier to work around: Again only
> occasionally I'm getting "make[N]: write error". After
> R[eading]T[he]F[ine]S[source] I found out that ferror(stdout) triggers this
> message. Strange... seems like there was an error writing to stdout..? or
> could this point to an error writing to the jobserver fds?
>
> I worked around the problem for now by simply not exiting on this error,
> since it's not too critical for me if a line in the output is missing or
> something like that. Also since it's only occasionally, I can simple do make
> again, If I really need all the output.
>
> BTW I never noticed missing output when I got "write error", but output
> tends to be kilometers long, so I could have overseen that :)
>
> Any ideas regarding those two?
>
> P.S.: I just noticed that the --enable-case-insensitive-file-system (interix
> is insensitive, as it uses window's fs') is win32 only as-is, since it uses
> strcmpi. Attached is a patch fixing this for interix. Maybe this fixes for
> this feature for mac osx too (is there support for max osx yet?).
>
> Thanks in advance, Cheers,
> Markus Duft
>
> _______________________________________________
> Bug-make mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bug-make