From owner-freebsd-hackers@FreeBSD.ORG Fri Oct 31 15:56:04 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E1BEF85F; Fri, 31 Oct 2014 15:56:03 +0000 (UTC) Received: from mail-lb0-x235.google.com (mail-lb0-x235.google.com [IPv6:2a00:1450:4010:c04::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0FDBC3DF; Fri, 31 Oct 2014 15:56:02 +0000 (UTC) Received: by mail-lb0-f181.google.com with SMTP id w7so6391133lbi.12 for ; Fri, 31 Oct 2014 08:56:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=mm+N0hv8caqJFzBcMqSKM9S2VV1+cgT8NnN9RXoyxL0=; b=M5Hf0e8/CUWmFWBbjaXV7VkaEaylsCAcmjgWQgiTIcfuYsmd9qgvhjM7OUtvOMQFjF 6zg+b9K7A3A2/Gyejwo7Lks7l0RghZSr4PYqnxDA1rp2jXVxVuE1AhYoukV8mCqvvppd ho1GGrMUsoUfN+rD3gGcAIfAYXeBkJaxwqGaLmPCDxpN/HIkOpFZHX+tOOp+1/uyjXSd C1zAwdqig4ynvYELYmgTV4Nu6jSLoQlFcUy2+nMyCJwcKpOZ90bQpP96kEoCHevZ/Ogp gO+uXRrqQXN9ieYKGNzsbTDNP7SaN65jIe/xsDFAfvJbSr7IagJmgDKNybSopGZSgC5k OMjA== X-Received: by 10.152.87.18 with SMTP id t18mr23121018laz.0.1414770960982; Fri, 31 Oct 2014 08:56:00 -0700 (PDT) Received: from localhost ([82.193.208.225]) by mx.google.com with ESMTPSA id r4sm4585962lar.3.2014.10.31.08.55.59 for (version=SSLv3 cipher=RC4-SHA bits=128/128); Fri, 31 Oct 2014 08:56:00 -0700 (PDT) Date: Fri, 31 Oct 2014 16:55:55 +0100 From: To: Ian Lepore Subject: Re: tar behavior 9.* -> 10.* Message-ID: <20141031165555.000048ec@gmail.com> In-Reply-To: <1414764305.17308.190.camel@revolution.hippie.lan> References: <20141024141552.000048ac@gmail.com> <544A6595.2070204@freebsd.org> <20141030133230.00004204@gmail.com> <1414676160.17308.151.camel@revolution.hippie.lan> <20141031134201.00000127@gmail.com> <1414764305.17308.190.camel@revolution.hippie.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org, Allan Jude X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 31 Oct 2014 15:56:04 -0000 On Fri, 31 Oct 2014 08:05:05 -0600 Ian Lepore wrote: > On Fri, 2014-10-31 at 13:42 +0100, rank1seeker@gmail.com wrote: > > On Thu, 30 Oct 2014 07:36:00 -0600 > > Ian Lepore wrote: > > > > > On Thu, 2014-10-30 at 13:32 +0100, rank1seeker@gmail.com wrote: > > > > On Fri, 24 Oct 2014 10:43:33 -0400 > > > > Allan Jude wrote: > > > > > > > > > On 2014-10-24 08:15, rank1seeker@gmail.com wrote: > > > > > > https://forums.freebsd.org/threads/tar-errors-when-file-content-extracted-to-stdout-is-piped.48626/ > > > > > > > > > > > > Bug? > > > > > > _______________________________________________ > > > > > > > > > What happens if you pipe it to something that doesn't close > > > > > the pipe prematurely > > > > > > > > > > try: > > > > > > > > > > tar ... | cat - > > > > > > > > > > It makes sense that it throws an error when you pipe to head, > > > > > which then closes the pipe before the file has finished being > > > > > written. > > > > > > > > > > > > > Even in it's "cleanest form" it hangs: > > > > # tar -xOf src.txz usr/src/UPDATING > > > > Outputed complete content immidieatly to STDOUT and then hanged > > > > for 56 seconds! > > > > > > > > > > This is a completely different case, not at all related to what > > > you reported earlier. It is doing exactly what it is supposed > > > to. With the arguments you gave it, it must scan (and thus > > > decompress) the entire archive, because there could be a newer > > > version of UPDATING later in the archive (think tar --append). > > > If you want it to quit as soon as it has found the first copy of > > > usr/src/UPDATING, add -q (or --fast-read). > > > > > > -- Ian > > > > > > Thank you Ian. > > It did a trick. However, if you've looked at a link, you would see > > I've reported 2 issues of which 1 is now solved. > > > > It is tar's pipe problem, which started to occur in 10.* > > # tar -qxOf src.txz usr/src/UPDATING | head > > ... expected output ... > > ./usr/src/UPDATING: Write error > > tar: Error exit delayed from previous errors. > > > > Exits with 1 (fail) > > > > When it comes to the original report, if anything I'd be inclined to > say the old behavior was buggy and now it works right. It used to > ignore some output errors and now it doesn't. If you were restoring > a backup rather than browsing a readme, you'd certainly want to know > that it failed to write some of the output. > > -- Ian > I see ..., sounds like a "feature or a bug?" Ok, I agree with this fix. Thanks for explanation. Domagoj