public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* dd hangs with SIGINT
@ 2005-04-04 13:14 Guillaume Chazarain
  0 siblings, 0 replies; only message in thread
From: Guillaume Chazarain @ 2005-04-04 13:14 UTC (permalink / raw)
  To: linux-kernel

Hi,

With recent linux distributions (using NPTL), I noticed that dd can hang
waiting on a futex when being killed. The problem sould be reproduceable
with the following script :

-------$<-------$<-------$<-------$<-------$<-------$<-------$<--------

#!/bin/sh

echo 'When you only see "dd frozen" in a loop the problem is present'

while : ; do
    dd if=/dev/zero of=/dev/null bs=1000 count=200 &> /dev/null
    echo -n "."
done &

# Don't leave useless dd processes
CHILD=$!
trap "kill $CHILD; killall dd" EXIT

while : ; do
    killall -INT dd &> /dev/null
    usleep 10000
    PIDOF_DD1=$(pidof dd)
    usleep 10000
    PIDOF_DD2=$(pidof dd)
    if [ -n "$PIDOF_DD1" ] && [ "$PIDOF_DD1" = "$PIDOF_DD2" ]; then
        echo "dd frozen"
    else
        echo -n "+"
    fi
done

-------$<-------$<-------$<-------$<-------$<-------$<-------$<--------

I can reproduce it on Fedora Core [1-3] on x86, even with recent kernels
like 2.6.12-rc1-bk3,,but it goes away with LD_ASSUME_KERNEL=2.4. It
seems to exploit a race condition somewhere, so the problem may need
some time (or some load) before triggering.


Hopefully someone can reproduce and look into it.
Kind regards.

-- 
Guillaume


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-04 13:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-04 13:14 dd hangs with SIGINT Guillaume Chazarain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox