Subject: Re: bug#7489: [coreutils] over aggressive threads in sort

From: Paul Eggert <[email-masked]>
Date: Thu, 02 Dec 2010 09:48:56 -0800

On 12/02/10 02:22, Chen Guo wrote:
> On Mon, Nov 29, 2010 at 11:16 AM, Paul Eggert <[email-masked]> wrote:
>>  (for i in $(seq 12); do read line; echo $i; sleep .1; done
>>  cat > /dev/null) < fifo &
>>  (ulimit -t 1; ./sort in > fifo \
>>  || echo killed via $(env kill -l $(expr $? - 128)))
> 
> I ran this 10 times or so on an i7 and couldn't trigger anything. Is
> seq 12 supposed to vary depending on the number of cores?

I imagine it does.  It's timing-dependent; I can't always reproduce
it on my test host (Intel Xeon E5620 2.4 GHz).

I just now realized that the above doesn't say what "in" is; it's
the output of "seq 100000".

Also, it may help to use an explicit --parallel=2 or whatever.

What happens if you do the following with the latest git version
(savannah's back up, by the way)?

   cd tests && make check TESTS=misc/sort-spinlock-abuse

This gets an XFAIL fairly reliably on my test host.