csup ends up in sigwai after "Shutting down connection to
server", never exits
Anton Shterenlikht
mexas at bristol.ac.uk
Mon Jun 18 08:55:52 UTC 2012
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.
Shall I submit a PR for this?
--
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
More information about the freebsd-current
mailing list