GNU bug report logs -
#8490
dd reads random number of records from pipes - named or otherwise - coreutils 8.9
Previous Next
Reported by: Jesse Gordon <jesseg <at> nikola.com>
Date: Wed, 13 Apr 2011 02:46:02 UTC
Severity: normal
Done: Eric Blake <eblake <at> redhat.com>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 8490-done <at> debbugs.gnu.org (full text, mbox):
On 12/04/11 22:02, Jesse Gordon wrote:
> I can't believe such an obvious bug would exist this long, but on the
> other hand the test is so simple I can't see where it's user error.
>
> dd, when reading from stdin or from a named pipe sometimes (but not
> always) reads a random number of records a bit less then what it should.
>
> I tried it like /dev/zero|dd, like yes|dd, cat somefile|dd, and even
> mkfifo pip; yes > pipe & dd if=pipe -- and all sometimes failed.
> However, if=arealfile seems to always work perfectly.
>
> To replicate:
>
> yes|dd bs=1000 count=1000|wc -c
With the about to be released coreutils, we now warn about this:
$ yes|dd bs=1000 count=1000|wc -c
dd: warning: partial read (960 bytes); suggest iflag=fullblock
We can't do that by default for backwards compat reasons.
cheers,
Pádraig.
p.s. I just noticed that this is not in NEWS.
I'll fix that now...
This bug report was last modified 14 years and 99 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.