Skip site navigation (1)Skip section navigation (2)
Date:      Wed,  3 Feb 1999 16:02:54 -0500
From:      Barry Lustig <barry@lustig.com>
To:        freebsd-stable@FreeBSD.ORG
Subject:   ypserv sigsegv in most recent CVSup of 2.2.8
Message-ID:  <19990203210255.12316.qmail@devious.lustig.com>

next in thread | raw e-mail | index | archive | help
Has anyone seen any problems with ypserv on the latest CVSup of 2.2.8?  I  
have been seeing random sigsegv's showing up.  I compiled up a debugging  
version of ypserv along with libc and found the following:

(gdb) bt
#0  svc_getreqset (readfds=0xefbfd964)
    at /usr/src/lib/libc/../libc/rpc/svc.c:432
#1  0x4234 in yp_svc_run () at /usr/src/usr.sbin/ypserv/yp_main.c:144
#2  0x480c in main (argc=1, argv=0xefbfd9dc)
    at /usr/src/usr.sbin/ypserv/yp_main.c:333
(gdb) p xprt
$12 = (SVCXPRT *) 0x0

Here is the snippet of code in svc_getreqset where the problem is occuring:

#ifdef FD_SETSIZE
        setsize = _rpc_dtablesize();
        maskp = (u_long *)readfds->fds_bits;
        for (sock = 0; sock < setsize; sock += NFDBITS) {
            for (mask = *maskp++; (bit = ffs(mask)); mask ^= (1 << (bit - 1))) \
{
                /* sock has input waiting */
                xprt = xports[sock + bit - 1];
#else
        for (sock = 0; readfds_local != 0; sock++, readfds_local >>= 1) {
            if ((readfds_local & 1) != 0) {
                /* sock has input waiting */
                xprt = xports[sock];
#endif /* def FD_SETSIZE */
                /* now receive msgs from xprtprt (support batch calls) */
                do {
                      =>if (SVC_RECV(xprt, &msg)) {

                                /* now find the exported program and call it */ 
                                register struct svc_callout *s;
                                enum auth_stat why;

                                r.rq_xprt = xprt;
                                r.rq_prog = msg.rm_call.cb_prog;
                                r.rq_vers = msg.rm_call.cb_vers;
                                r.rq_proc = msg.rm_call.cb_proc;
                                r.rq_cred = msg.rm_call.cb_cred;

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



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