[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Information regarding cvs [server aborted]: received broken pipe
From: |
Kevin Wang |
Subject: |
Re: Information regarding cvs [server aborted]: received broken pipe signal |
Date: |
Wed, 21 Aug 2002 07:07:22 -0700 |
From Mark Lancisi
> I ran into this error message
>
> cvs [server aborted]: received broken pipe signal
>
> after implementing a tool (in perl), via the loginfo file, to remind
> engineers (via email) to double update when checking into subordinate
> branches as listed in a self maintained control file. The error
> seemed benign when checking files into a single directory, (though it
> turned out even this was not benign because some automation I had
> written that was attempting to do a commit was catching the error and
> bailing out, which is how I found the problem in the first place),
> however when you did a top level commit expecting files from
> multiple directories to be checked in, the server would bail after
> processing and checking in files from the first directory.. ( so you
> cannot really "ignore the message" as is suggested in the manual, if
> you expect to be able to do multi-level commits).
>
> After much frustration and testing in a cvs project off to the side
> (but in the same repository), I found that the problem occurred only
> when the script I wrote didn't send any mail to anyone because there
> was no reason too (ie the branch or trunk they were checking into was
> not listed as a subordinate of any other branch or the trunk..)
>
> So - the problem, I believe, is that the server does not like any
> script that is called via loginfo to NOT send mail. This could be a
> slight simplification of the problem, as I didn't prove that this was
> the only cause of the broken pipe message, but it certainly was
> behaving this way with regard to my script, so I know it is at least
> one cause.
>
> I'd been using loginfo for a year prior to send mail on commit but it
> turns out that the script I am using there is set up to always send
> mail on every commit, so I never saw this problem.
>
> To get around the problem, I changed my new script to send mail to a
> nobody user set up with an inbox of (essentially) /dev/null whenever
> it doesn't need to send any mail at all... This seems to sufficiently
> fake out the server and keeps from flooding a dummy inbox while
> avoiding the "broken pipe signal" thereby fixing multi-level commits
> (and my automation ;-) ) .
>
> Feel free to post this anywhere on the net if it can be of help.
Question - when you do not send email, do you still read everything
from stdin? I suspect that if you don't read from stdin, that's where
this error may be comming from. Try purging stdin with "cat >/dev/null"
and see if that fixes it.
- Kevin