Broken pipe error

Matthew Dillon dillon at apollo.backplane.com
Sat Jul 15 00:47:17 PDT 2006


:
:Ok, guys. I moved the directories around as I said and ran 
:./locate.updatedb and have got an error. However in this case its not 
:zcat but sort. Here it is:
:
:elevator# ./locate.updatedb
:sort: -: write error: Broken pipe

    Well, this is odd.  There are a few places where a pipe can be broken
    early, all in /usr/src/usr.bin/locate/locate/mklocatedb.sh:

	locate -d $filelist / | $bigram | $sort -nr | head -128 | ...

    and

	$bigram < $filelist | $sort -nr |
	awk '{if (/^[   ]*[0-9]+[       ]+..$/) {printf("%s",$2)} else {exit 1}}' > $bigrams || exit 1

    But we have the same issue that Simon brought up for the 'man' problem...
    the broken pipe should terminate the sort with a signal instead of
    reporting an error.

    Petr, do me a favor and try this sequence.  I want to ktrace the 
    'man' program bug you reported earlier.

    * Remove the patches I had you apply earlier.  If you have updated
      to the most recent HEAD then I committed one of them and you will
      have to edit /usr/src/gnu/usr.bin/man/Makefile.inc to remove the
      '-q' I added.

    * Recompile as per before.

    * su to root (otherwise ktrace won't be able to trace through the
      suid man program).

    * Make sure you can reproduce the problem with 'man ppp'.  Hopefully
      you can.

    * Then run:

	ktrace -t cns -i man ppp

    * Then run 'kdump' and put the output file somewhere where we can
      retrieve it.

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Bugs mailing list