|Subject:||Information regarding cvs [server aborted]: received broken pipe signal|
|Date:||Wed, 21 Aug 2002 16:58:22 -0400|
I am submitting this info as suggested at :
in the following entry:
If this issue has not been tracked down as yet ( and I could not find any evidence on the net that it has been ) here is some info regarding at least one of the causes. Note that I worked around the problem and do not intend to fix it (or get it fixed) in cvs (since there is a work around)..
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.
|[Prev in Thread]||Current Thread||[Next in Thread]|