You need to figure out what is causing the cvs pserver to die.

Check the system log. /var/log/messages on the server.

You could try setting :

`$CVS_CLIENT_LOG'
Used for debugging only in client-server mode. If set, everything
sent to the server is logged into ``$CVS_CLIENT_LOG'.in' and
everything sent from the server is logged into
``$CVS_CLIENT_LOG'.out'.

`$CVS_SERVER_SLEEP'
Used only for debugging the server side in client-server mode. If
set, delays the start of the server child process the specified
amount of seconds so that you can attach to it with a debugger.

You could also try adding '-t' to your pserver setup.

Is the :pserver: system is out of disk space ?

A brute force diagnostic method I use is 'strace' . Running it in pserver
mode means you need to run a program that forks off an strace and
then execs cvs pserver - it means coding up a little program like that.
The program below does exactly that. I used it once to diagnose a
cvs pserver problem from wincvs (it turned out that the user had
entered the wrong password)!

#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>

int main( int argc, char ** argv )
{

int errfd = open( "/tmp/fixer.log", O_RDWR | O_CREAT, 0777 );
int pid;
int ppid = getpid();

char buf[ 1024 ];

sprintf(
buf,
"UID = %d : EUID = %d: GID = %d : EGID = %d\n",
getuid(),
geteuid(),
getgid(),
getegid()
);

write( errfd, buf, strlen( buf ) );

pid = fork();

if ( pid == -1 ) {
int serrno = errno;

dup2( errfd, 2);
errno = serrno;
perror( "fork" );
exit( 1 );
}


if ( pid ) {

int serrno = errno;
sleep( 3 );
execv( argv[1], argv + 2 );
dup2( errfd, 2);
errno = serrno;
perror( "execv" );
exit( 1 );
} else {

// Child
char strpid[ 10 ];
char * argx[ 4 ];
dup2( errfd, 1);
dup2( errfd, 2);

argx[ 0 ] = argv[1];
argx[ 1 ] = "-p";
argx[ 2 ] = strpid;
argx[ 3 ] = 0;

sprintf( strpid, "%d", ppid );
execvp( "/usr/bin/strace", argx );
}

}

I doubt that you'll get to the last option, it's for people with
that macho who needs that damn manual attitude - Larry
is probably going to puke ! :)

Good luck
G

[EMAIL PROTECTED] wrote:

>hi, 
>
>this mario from steinberg, germany
>we are using cvs in our company and
>recently got this strange error when we do comits:
>
>cvs [server aborted]: received broken pipe signal
>*****CVS exited normally with code 1*****
>
>the commit process is aborted after finishing one
>directory so we can not commit all files of our projects
>in one run anymore (and this is annoying ;-)
>
>do you know any solution for this? - I read the manual
>and several web pages, without finding an answer
>
>thanx in advance
>mario
>
>
>
>
>--  
>Tipp: Neuer Gewinnspiel-Service sorgt fuer Furore! 
>Wer hier nicht gewinnt, dem ist nicht mehr zu helfen...  
>
>http://webkatalog.freenet.de/perl/show.pl?uri=http://shortwin.de/index.cfm?pp_ID=18648ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ?úÿrû&j)bz(
>  b²Ò'~?ܾÏàz(ïè®m¶Y"ÿþf¢--ø'»ú+fùs(S(Ys(Y"ùb²Ø§~?â?úÿ
>




_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs

Reply via email to