Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Apr 2001 13:05:12 -0400
From:      "David E. Cross" <crossd@cs.rpi.edu>
To:        freebsd-hackers@freebsd.org
Subject:   ypserv
Message-ID:  <200104121705.NAA80766@cs.rpi.edu>

next in thread | raw e-mail | index | archive | help
Well, I am able to reproduce the crash pretty reliably, I don't know what is
causing it yet, I just kill all the other ypservs on a subnet except for this
one and it crashes about once every 5 minutes.  I have some questions/theories
that I'd like to bounce off of people:

1)  In the yp_all function it calls yp_fork() to fork a new ypserv, the
    parent them calls return(NULL); and the child handles the request.
    Looking at the ktraces, I notice that the parent does not close
    the socket connection, but after the child finishes the transaction
    the parent gets a read() return value of 0 (EOF) for that socket and 
    then closes it.  Since this is a yp_all request there _shouldn't_ be 
    any more read data on the socket until the close event (which is a read
    of 0), but that socket is still open in both the parent and the child,
    and the child is making calls against it... is there a possibility
    of some shared data corruption within the RPC code that anyone could
    think of?

2)  The RPC code itself has a lot of checks against blocking... is the forking
    of ypserv even needed at all?

--
David Cross                               | email: crossd@cs.rpi.edu 
Lab Director                              | Rm: 308 Lally Hall
Rensselaer Polytechnic Institute,         | Ph: 518.276.2860            
Department of Computer Science            | Fax: 518.276.4033
I speak only for myself.                  | WinNT:Linux::Linux:FreeBSD

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104121705.NAA80766>