What causes panic: rcv_xmitbuf ?

Chris Torek torek at elf.ee.lbl.gov
Fri Mar 15 10:37:03 AEST 1991


In article <1991Mar13.181654.15121 at sci.ccny.cuny.edu> dan at sci.ccny.cuny.edu
(Dan Schlitt) writes:
>We are running 4.3BSD Unix with the couple year old now TCP/IP mods on
>a Vax 780.  Recently we have been getting infrequent but irritating
>panics with the message "panic: rcv_xmitbuf".

You have a DEUNA or DELUA, and you have not applied the following patch:

*** if_uba.c.7.1	Thu Mar 14 16:32:55 1991
--- if_uba.c.7.5.1.1	Thu Mar 14 16:33:09 1991
***************
*** 4,8 ****
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)if_uba.c	7.1 (Berkeley) 6/5/86
   */
  
--- 4,8 ----
   * specifies the terms and conditions for redistribution.
   *
!  *	@(#)if_uba.c	7.5.1.1 (Berkeley) 6/4/87
   */
  
***************
*** 98,104 ****
  bad:
  	while (--nw >= 0)
! 		ubarelse(ifu->iff_uban, &ifr[nw].ifrw_info);
  	while (--nr >= 0)
! 		ubarelse(ifu->iff_uban, &ifw[nr].ifw_info);
  	m_pgfree(cp, (nr + nw) * ncl);
  	ifr[0].ifrw_addr = 0;
--- 98,104 ----
  bad:
  	while (--nw >= 0)
! 		ubarelse(ifu->iff_uban, &ifw[nw].ifw_info);
  	while (--nr >= 0)
! 		ubarelse(ifu->iff_uban, &ifr[nr].ifrw_info);
  	m_pgfree(cp, (nr + nw) * ncl);
  	ifr[0].ifrw_addr = 0;
***************
*** 274,278 ****
  	struct mbuf **mprev;
  	register i;
- 	int t;
  	char *cp;
  
--- 274,277 ----
***************
*** 281,285 ****
  		i--;
  		ifw->ifw_xswapd &= ~(1<<i);
- 		i *= CLSIZE;
  		mprev = &ifw->ifw_xtofree;
  		for (m = ifw->ifw_xtofree; m && m->m_next; m = m->m_next)
--- 280,283 ----
***************
*** 286,298 ****
  			mprev = &m->m_next;
  		if (m == NULL)
! 			panic("rcv_xmtbuf");
  		bcopy(mtod(m, caddr_t), cp, CLBYTES);
  		(void) m_free(m);
  		*mprev = NULL;
- 		for (t = 0; t < CLSIZE; t++) {
- 			ifw->ifw_mr[i] = ifw->ifw_wmap[i];
- 			i++;
- 		}
  	}
  }
  
--- 284,295 ----
  			mprev = &m->m_next;
  		if (m == NULL)
! 			break;
  		bcopy(mtod(m, caddr_t), cp, CLBYTES);
  		(void) m_free(m);
  		*mprev = NULL;
  	}
+ 	ifw->ifw_xswapd = 0;
+ 	for (i = 0; i < ifw->ifw_nmr; i++)
+ 		ifw->ifw_mr[i] = ifw->ifw_wmap[i];
  }
  
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab EE div (+1 415 486 5427)
Berkeley, CA		Domain:	torek at ee.lbl.gov



More information about the Comp.unix.wizards mailing list