Date: Tue, 19 Jun 2012 13:49:36 +0200 From: Jeremie Le Hen <jlh@FreeBSD.org> To: freebsd-current@freebsd.org, freebsd-ia64@freebsd.org Subject: Re: csup ends up in sigwai after "Shutting down connection to server", never exits Message-ID: <20120619114936.GB70668@felucia.tataz.chchile.org> In-Reply-To: <20120618085544.GA12592@mech-cluster241.men.bris.ac.uk> References: <20120614105738.GA35741@mech-cluster241.men.bris.ac.uk> <20120614111505.GA36160@mech-cluster241.men.bris.ac.uk> <20120618085544.GA12592@mech-cluster241.men.bris.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Anton, On Mon, Jun 18, 2012 at 09:55:44AM +0100, Anton Shterenlikht wrote: > On Thu, Jun 14, 2012 at 12:15:05PM +0100, Anton Shterenlikht wrote: > > On Thu, Jun 14, 2012 at 11:57:38AM +0100, Anton Shterenlikht wrote: > > > On ia64 r235474 and r235163 I get: > > > > > > # csup -L2 /root/ports-supfile > > > Parsing supfile "/root/ports-supfile" > > > Connecting to cvsup.uk.FreeBSD.org > > > Connected to 131.111.8.41 > > > Server software version: SNAP_16_1h > > > MD5 authentication started > > > MD5 authentication successful > > > Negotiating file attribute support > > > Exchanging collection information > > > Establishing multiplexed-mode data connection > > > Running > > > Updating collection ports-all/cvs > > > Shutting down connection to server > > > > > > csup never exits. > > > > > > >From top: > > > > > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND > > > 33822 root 2 20 0 37496K 23352K sigwai 1 0:32 0.00% csup > > > > > > > > > On amd64 r236740M I don't see this problem. > > > > Just to update - I don't see this problem on ia64 r231193M. > > It seems the only relevant change in usr.bin/csup since then was: > > > > Index: usr.bin/csup/auth.c > > =================================================================== > > --- usr.bin/csup/auth.c (revision 231193) > > +++ usr.bin/csup/auth.c (working copy) > > @@ -293,7 +293,7 @@ > > gettimeofday(&tv, NULL); > > pid = getpid(); > > ppid = getppid(); > > - srand(tv.tv_usec ^ tv.tv_sec ^ pid); > > + srandom(tv.tv_usec ^ tv.tv_sec ^ pid); > > addrlen = sizeof(laddr); > > error = getsockname(config->socket, (struct sockaddr *)&laddr, &addrlen); > > if (error < 0) { > > I was thinking of doing a binary search for this, > but realised that I'd have to build/install world, > not just kernel, right? This will take a *long* time. I think recompiling the kernel and the libraries csup depends on will be enough. -- Jeremie Le Hen Men are born free and equal. Later on, they're on their own. Jean Yanne
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120619114936.GB70668>