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.
