You are not logged in.

#1 2017-02-11 10:53:26

Theon144
Member
Registered: 2012-01-28
Posts: 15

Strange dd behavior

Hello,
I wanted to copy an image over to a USB drive, so I ran dd with pv for monitoring - pv showed that almost all of the 1.5GiB image was transferred immediately, then dd hung and didn't respond to any signals. iotop also didn't seem to show any activity. dmesg showed this error:

[úno11 11:13] INFO: task systemd-udevd:9868 blocked for more than 120 seconds.
[  +0,000005]       Tainted: P           O    4.9.6-1-ARCH #1
[  +0,000002] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  +0,000001] systemd-udevd   D    0  9868      1 0x00000104
[  +0,000004]  ffff880214fe4800 0000000000000000 ffff8801780b1c80 ffff88023f4980c0
[  +0,000003]  ffff880235a19c80 ffffc90005827ae8 ffffffff81605cdf ffffffff810cbbf1
[  +0,000003]  0000000000000000 ffff88023f4980c0 ffffc90005827b10 ffff8801780b1c80
[  +0,000002] Call Trace:
[  +0,000007]  [<ffffffff81605cdf>] ? __schedule+0x22f/0x6e0
[  +0,000003]  [<ffffffff810cbbf1>] ? mutex_spin_on_owner.isra.0+0x51/0x70
[  +0,000002]  [<ffffffff816061cd>] schedule+0x3d/0x90
[  +0,000002]  [<ffffffff81606515>] schedule_preempt_disabled+0x15/0x20
[  +0,000002]  [<ffffffff816079eb>] __mutex_lock_slowpath+0xcb/0x150
[  +0,000003]  [<ffffffff81607a87>] mutex_lock+0x17/0x30
[  +0,000003]  [<ffffffff8124e2ba>] __blkdev_get+0x7a/0x400
[  +0,000002]  [<ffffffff8124f198>] blkdev_get+0x128/0x360
[  +0,000002]  [<ffffffff8124f47b>] blkdev_open+0x5b/0x70
[  +0,000003]  [<ffffffff8120f55a>] do_dentry_open+0x20a/0x2f0
[  +0,000001]  [<ffffffff8124f420>] ? blkdev_get_by_dev+0x50/0x50
[  +0,000002]  [<ffffffff8121066c>] vfs_open+0x4c/0x70
[  +0,000003]  [<ffffffff8121e47b>] ? may_open+0x9b/0x100
[  +0,000002]  [<ffffffff812207e2>] path_openat+0x282/0x1170
[  +0,000002]  [<ffffffff8144cebe>] ? uevent_show+0x5e/0x100
[  +0,000002]  [<ffffffff812228a1>] do_filp_open+0x91/0x100
[  +0,000002]  [<ffffffff8120e734>] ? __check_object_size+0x54/0x1d6
[  +0,000002]  [<ffffffff81230912>] ? __alloc_fd+0xb2/0x160
[  +0,000002]  [<ffffffff81210a97>] do_sys_open+0x147/0x210
[  +0,000002]  [<ffffffff81210b7e>] SyS_open+0x1e/0x20
[  +0,000002]  [<ffffffff81003b64>] do_syscall_64+0x54/0xc0
[  +0,000003]  [<ffffffff8160a7eb>] entry_SYSCALL64_slow_path+0x25/0x25

Someone on ##linux suggested it's wainting for the sync (which would explain the instantaneous copy) so I ran sync, which might've helped, but I kept getting similar errors in dmesg (all either "sync" or "systemd-udevd" blocked for more than 120 seconds), but after a while, the copy finished.

I also tried conv=sync for dd, but that only slowed down the transfer down to a couple KiB/s then stopped transferring at all. I killed it after that.

My kernel is "Linux theseus 4.9.8-1-ARCH #1 SMP PREEMPT Mon Feb 6 12:59:40 CET 2017 x86_64 GNU/Linux".

Any ideas? Thanks in advance!

Last edited by Theon144 (2017-02-11 11:20:11)

Offline

#2 2017-02-11 13:07:40

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Strange dd behavior

Have you tried without using pv? You can monitor dd's progress by doing 'kill -USR1 pid_of_dd'.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#3 2017-02-11 13:41:36

Theon144
Member
Registered: 2012-01-28
Posts: 15

Re: Strange dd behavior

Right, but most of the time the dd process is unresponsive to any signals, even SIGKILL.

Offline

Board footer

Powered by FluxBB