atom feed10 messages in org.freebsd.freebsd-currentRe: gunzip | tar reports broken pipe ...
FromSent OnAttachments
Alexey ShuvaevMay 5, 2009 10:48 am.Other
Eygene RyabinkinMay 5, 2009 11:58 am 
Alexey ShuvaevMay 5, 2009 8:28 pm 
Alexey ShuvaevMay 6, 2009 12:25 pm 
Tim KientzleMay 6, 2009 9:38 pm 
Eygene RyabinkinMay 6, 2009 11:05 pm 
Alexey ShuvaevMay 7, 2009 7:42 am.human, .human
Tim KientzleMay 7, 2009 10:51 am 
Tim KientzleMay 7, 2009 1:33 pm 
Tim KientzleMay 7, 2009 4:09 pm 
Subject:Re: gunzip | tar reports broken pipe during OOO build on amd64.
From:Tim Kientzle (kien@freebsd.org)
Date:May 7, 2009 1:33:01 pm
List:org.freebsd.freebsd-current

Alexey Shuvaev wrote:

On Thu, May 07, 2009 at 08:41:21PM +0200, Alexey Shuvaev wrote:

On Thu, May 07, 2009 at 10:51:50AM -0700, Tim Kientzle wrote:

I finally reproduced this; it seems to only happen with /bin/csh. It does not happen with /bin/sh or bash.

Also, in /bin/csh, this works:

(gunzip -c ooo_crystal_images-1.tar.gz | tar xf -) && echo OK

and this fails:

gunzip -c ooo_crystal_images-1.tar.gz | (tar xf -) && echo OK

Do you mean it is a bug in [t]csh?

No, this is definitely a bug in tar. I finally found the place where tar was not always reading beyond end-of-archive on a pipe.

This doesn't show up under /bin/sh or bash because for those shells, the return status of "gunzip|tar" is the exit status of the last command ("tar"). For csh, the return status of the pipeline is the return status of the first command.

So for other shells, the SIGPIPE exit from gunzip doesn't cause the whole sequence to fail (because "tar" exits with success).

I'm testing a fix now; it will be committed later today.

Tim