coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: deadlock in with fifo reading in tests/dd/no-allocate.sh


From: Pádraig Brady
Subject: Re: deadlock in with fifo reading in tests/dd/no-allocate.sh
Date: Wed, 11 Dec 2013 10:24:22 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2

On 12/11/2013 09:36 AM, Bernhard Voelker wrote:
> On 12/11/2013 06:15 AM, Pádraig Brady wrote:
>> I noticed _once_ a deadlock in dd in tests/dd/no-allocate.sh
>> with make -j20 on a solaris 10 system.
>> Does anyone see why a dd process would deadlock here?
>>
>> http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=blob;f=tests/dd/no-allocate.sh;h=dd1a7408b
>>
>> Now I haven't reproduced the deadlock, but I don't
>> immediately see why it should deadlock.
>>
>> I see that the dd processes can go away without reading
>> due to the ulimit. But that would only cause multiple
>> `echo 1 > tape` instances to hang around which would
>> surely give less chance for subsequent dd processes to hang?
>>
>> I considered adding a 'wait' after each (ulimit...)
>> but that could introduce a deadlock given the dd
>> process may go away even before the subshell opens the fifo,
>> especially for the `dd seek=1` case which can proceed
>> through an open(RDWR); malloc(large); and be killed even
>> before the background process blocks.
>>
>> So I'll probably redo this test, or at least
>> mark it expensive so it's not run by default.
> 
> The question is which of the tests hung?
> The input (i.e. skip) or the output (i.e. seek) tests?

I think it was the last dd, though can't be sure as
the net connection died as I was debugging.

> You may rule out dependencies between the test by
> having a separate fifo for each test.

thanks,
Pádraig.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]