gunzip | tar reports broken pipe during OOO build on amd64.

Alexey Shuvaev shuvaev at physik.uni-wuerzburg.de
Wed May 6 19:26:06 UTC 2009


On Wed, May 06, 2009 at 05:01:23AM -0700, Tim Kientzle wrote:
> No, this is simply tar not being very friendly to gunzip.  bsdtar is a
> little quick to shutdown when it sees the end of the archive, even though
> gunzip is still decompressing some end-of-archive padding.  I'll look at
> this; tar should notice when it's reading from a pipe and read the final
> padding in this case, which would allow gunzip to shut down cleanly.
> 
Thanks for looking at it!

> Your workaround looks like a good change, though.  The separate gunzip is
> unnecessary.
> 
On freebsd yes, but this patch is against makefile (deep) in the OOO
sources. I don't think OOO people will accept the patch, then it should
live in ports, which is not very desirable. (I'm not the maintainer
of OOO, though.)

> 
> On Tue, May 5, 2009 at 8:28 PM, Alexey Shuvaev <
> shuvaev at physik.uni-wuerzburg.de> wrote:
> 
> > On Tue, May 05, 2009 at 10:59:01PM +0400, Eygene Ryabinkin wrote:
> > > Alexey, good day.
> > >
> > > Tue, May 05, 2009 at 07:48:31PM +0200, Alexey Shuvaev wrote:
> > > > The reason appeared to be the first part of the command
> > > > "gunzip -c ... | ( tar -xf - ) &&  touch ..."
> > > > which exited with non-zero exit status (141) and "touch ..." was not
> > called.
> > > > Running the command manually has showed that gunzip was complaining
> > about
> > > > broken pipe (however the archive was extracted successfully).
> > >
> > > Yes, 141 means that SIGPIPE was delivered.  This in turn means that
> > > 'tar -xf -' exited before gunzip had finished its job and gunzip had
> > > tried to write more data to the pipe.
> > >
> > > Could I ask to do some debugging:
> > >
> > > 1. run 'gunzip -c  ooo_crystal_images-1.tar.gz > crystal.tar'
> > >
> > Ok so far.
> >
> > > 2. run 'cat crystal.tar | (tar -xf -) && echo OK' and look for the
> > results.
> > >
> > Ok:
> > ~/tmp> cat crystal.tar | ( tar -xf - ) && echo OK
> > OK
> >
> > > 3. do 'md5 ooo_crystal_images-1.tar.gz'
> > >
> > ~/tmp> md5 crystal.tar
> > MD5 (crystal.tar) = f9d09511003da0f59d943311a678b94a
> >
> > > For the last point, I have
> > > -----
> > > MD5 (ooo_crystal_images-1.tar.gz) = ff0d576d4b0e71c268b1516095a3d085
> > > -----
> > > but this tar.gz was taken from OOO 3.x.  If yours have some other
> > > checksum, could you place it somewhere where I can download it?
> > >
> > Mmmm... not so easy... German universities are not so internet friendly...
> > fsck...
> > But it was taken from official
> > openoffice.org2/OOo_OOH680_m18_source.tar.bz2
> > tarball...
> > Ping me if it is download error.
> >
> > > My .tar.gz unpacks without any errors, but my -CURRENT is from 3rd of
> > May.
> > >
> > > Thanks!
> > >
> > I'm running amd64 Core2Duo processor with SMP kernel. Can it be that
> > 2 processes (gunzip and tar) are running on different cpu-s and this is
> > some race condition? Not triggered before?
> > > --
> > > Eygene
> > >  _                ___       _.--.   #
> > >  \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
> > >  /  ' `         ,       __.--'      #  to read the on-line manual
> > >  )/' _/     \   `-_,   /            #  while single-stepping the kernel.
> > >  `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
> > >      _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
> > >     {_.-``-'         {_/            #
> > > _______________________________________________
> > > freebsd-current at freebsd.org mailing list
> > > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > > To unsubscribe, send any mail to "
> > freebsd-current-unsubscribe at freebsd.org"
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> >


More information about the freebsd-current mailing list