DragonFly BSD
DragonFly bugs List (threaded) for 2006-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Broken pipe error


From: Petr Janda <elekktretterr@xxxxxxxxxxxxxx>
Date: Sat, 15 Jul 2006 13:38:44 +1000

Matt,
Thanks, that "seems" to have fixed the problem. I havent tested . /locate.updatedb yet with this patch applied now, but I will give it a shot as soon as i move lots of files. Might just move DF source and pkgsrc directories around a bit and see if it makes a difference.


Cheers,

Petr

Matthew Dillon wrote:
:Petr Janda wrote:
:> Ok, it seems that I found a bug.
:> :> elevator# man ppp
:> zcat: error writing to output: Broken pipe
:> zcat: /usr/share/man/cat8/ppp.8.gz: uncompress failed
:
:Do you get that for all man pages or just ppp(8)?
:
:Sascha
:
:-- :http://yoyodyne.ath.cx


    The error is quite simply due to the fact that the pager program
    (more) exited without reading all the input from the pipe.  It
    only occurs sometimes because it depends on whether the pipe
    direct-maps zcat's (gunzip's) write to the pager program's read.

    But, of course, the pager program exited because the user quit out
    of it before it read all the input from zcat.

    I think the solution is to modify the 'man' program to pass the '-q'
    option to zcat (gunzip), and to modify gunzip to do a
    signal(SIGPIPE, SIG_IGN) when used with the -q option.

Petr, please try rebuilding the 'man' program and the gzip program using this patch. Please tell me if it stops the errors. Here is the build sequence after applying the patch:

	cd /usr/src/gnu/usr.bin/man
	make clean obj all install
	cd /usr/src/usr.bin/gzip
	make clean obj all install

Patch is included below.

-Matt
Matthew Dillon <dillon@xxxxxxxxxxxxx>


Index: gnu/usr.bin/man/Makefile.inc
===================================================================
RCS file: /cvs/src/gnu/usr.bin/man/Makefile.inc,v
retrieving revision 1.2
diff -u -r1.2 Makefile.inc
--- gnu/usr.bin/man/Makefile.inc 17 Jun 2003 04:25:46 -0000 1.2
+++ gnu/usr.bin/man/Makefile.inc 14 Jul 2006 18:14:49 -0000
@@ -22,7 +22,7 @@
refer= /usr/bin/refer
grap= # no grap
pic= /usr/bin/pic
-zcat= /usr/bin/zcat
+zcat= /usr/bin/zcat -q
compress= /usr/bin/gzip -c
compext= .gz
Index: usr.bin/gzip/gzip.c
===================================================================
RCS file: /cvs/src/usr.bin/gzip/gzip.c,v
retrieving revision 1.5
diff -u -r1.5 gzip.c
--- usr.bin/gzip/gzip.c 31 Jan 2005 19:28:57 -0000 1.5
+++ usr.bin/gzip/gzip.c 14 Jul 2006 18:17:11 -0000
@@ -314,6 +314,7 @@
break;
case 'q':
qflag = 1;
+ signal(SIGPIPE, SIG_IGN);
break;
case 'r':
rflag = 1;







[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]