All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.