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>
