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: Bernhard Voelker
Subject: Re: deadlock in with fifo reading in tests/dd/no-allocate.sh
Date: Wed, 11 Dec 2013 10:36:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

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?

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

Have a nice day,
Berny



reply via email to

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