On Wed, Oct 14, 2015 at 6:44 PM, Pádraig Brady <[email protected]> wrote:
> On 14/10/15 18:43, Jim Meyering wrote:
>> Running a massively parallel "make very-expensive-check"
>> (-j73 on a 48-core system), the rm/r-root.sh test would fail
>> about 1-in-2 or 1-in-3 trials due to expiration of the 2-second
>> timeout here:
...
> The comment above that is a bit more explicit, i.e.
>
> # This isn't terribly expensive, but it must not be run under heavy load.
> # The reason is the conservative 'timeout' setting below to limit possible
> # damage in the worst case which yields a race under heavy load.
> # Marking this test as "expensive" therefore is a compromise, i.e., adding
> # this test to the list ensures it still gets _some_ (albeit minimal)
> # coverage while not causing false-positive failures in day to day runs.
>
> It would be better to avoid the race of course.
> timeout(1) isn't great protection anyway
> as 2 seconds allows for a lot of unlink calls.
> Perhaps leveraging gdb to limit the number of unlink calls is better.
> ...
>
> So I had a look and ended up debugging the debugger :/
> https://sourceware.org/bugzilla/show_bug.cgi?id=10079

Whoa. Very nice.
I've tested both this and your tail-test-race patch, and
they have survived 10 iterations of those abusive tests.

Reply via email to