Bug 10476 - cvs server's child fails to close pipe before forking further children
Summary: cvs server's child fails to close pipe before forking further children
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: cvs
Version: 6.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Martin Stransky
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2000-03-31 10:49 UTC by David Woodhouse
Modified: 2007-04-18 16:26 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-10-18 17:08:20 UTC
Embargoed:


Attachments (Terms of Use)
errors after running syncmail (577 bytes, text/plain)
2006-02-08 17:58 UTC, Dennis Gregorovic
no flags Details

Description David Woodhouse 2000-03-31 10:49:00 UTC
CVS server opens a pipe and forks a child to go and do the actual work.
When that pipe is closed, the cvs server process knows that the child is
finished.

If you add a 'mail' command to your loginfo file, the cvs server's child
will fail to set the FD_CLOEXEC flag on the pipe before forking to run the
mail command. This has the effect that all the children of mail, sendmail,
etc. have this pipe open, and the cvs server program (and hence the initial
commit) hang until every child of the mail program has finished.

This is particularly annoying when you've set up loginfo to send mail to a
large mailing list :)

The fix is for the CVS child process to set FD_CLOEXEC before forking and
running the log notification process.

Comment 1 Alan Cox 2002-12-14 22:19:38 UTC
is this still the case if so can you bump the bug to 8.0 version


Comment 2 Dennis Gregorovic 2006-02-08 17:57:10 UTC
I'm occasionally seeing an error that may be from the same root cause.  When
checking in a change, after syncmail is run there is a broken pipe signal.  The
commit is applied correctly, but the email that goes out has a broken diff. 
I'll attach a log of the transaction.

Comment 3 Dennis Gregorovic 2006-02-08 17:58:39 UTC
Created attachment 124388 [details]
errors after running syncmail

Comment 4 Martin Stransky 2006-03-21 13:14:30 UTC
(In reply to comment #2)
> I'm occasionally seeing an error that may be from the same root cause.  When
> checking in a change, after syncmail is run there is a broken pipe signal.  The
> commit is applied correctly, but the email that goes out has a broken diff. 
> I'll attach a log of the transaction.

Which version of syncmail do you use? It looks like syncmail sends message and
ends before getting all data from cvs, it may be a bug in syncmail...

Could you please attach log file? (like from this message - "cvs commit: saving
log message in /tmp/cvsViXjjA")



Comment 5 Bill Nottingham 2006-08-07 19:50:03 UTC
Red Hat Linux is no longer supported by Red Hat, Inc. If you are still
running Red Hat Linux, you are strongly advised to upgrade to a
current Fedora Core release or Red Hat Enterprise Linux or comparable.
Some information on which option may be right for you is available at
http://www.redhat.com/rhel/migrate/redhatlinux/.

Red Hat apologizes that these issues have not been resolved yet. We do
want to make sure that no important bugs slip through the cracks.
Please check if this issue is still present in a current Fedora Core
release. If so, please change the product and version to match, and
check the box indicating that the requested information has been
provided. Note that any bug still open against Red Hat Linux on will be
closed as 'CANTFIX' on September 30, 2006. Thanks again for your help.


Comment 6 Bill Nottingham 2006-10-18 17:08:20 UTC
Red Hat Linux is no longer supported by Red Hat, Inc. If you are still
running Red Hat Linux, you are strongly advised to upgrade to a
current Fedora Core release or Red Hat Enterprise Linux or comparable.
Some information on which option may be right for you is available at
http://www.redhat.com/rhel/migrate/redhatlinux/.

Closing as CANTFIX.


Note You need to log in before you can comment on or make changes to this bug.