Date: Fri, 8 Dec 2000 21:25:40 +0100 From: Wilko Bulte <wkb@freebie.demon.nl> To: John Baldwin <jhb@FreeBSD.org> Cc: alpha@FreeBSD.org, Bill Paul <wpaul@FreeBSD.org> Subject: Re: cvs commit: src/sys/alpha/conf GENERIC Message-ID: <20001208212540.A750@freebie.demon.nl> In-Reply-To: <XFMail.001208112355.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Fri, Dec 08, 2000 at 11:23:55AM -0800 References: <20001208201756.A418@freebie.demon.nl> <XFMail.001208112355.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 08, 2000 at 11:23:55AM -0800, John Baldwin wrote: > > On 08-Dec-00 Wilko Bulte wrote: > > On Fri, Dec 08, 2000 at 11:00:04AM -0800, John Baldwin wrote: > >> [ moved to -alpha ] > >> > >> On 08-Dec-00 Bill Paul wrote: > >> >> mx5# ifconfig tx0 10.0.0.1 > >> >> > >> >> fatal kernel trap: > >> >> > >> >> trap entry = 0x2 (memory management fault) > >> >> a0 = 0x464000 > >> >> a1 = 0x1 > >> >> a2 = 0x0 > >> >> pc = 0xfffffc000046b008 > >> >> ra = 0xfffffc0000469dac > >> >> curproc = 0xfffffe00042f5e40 > >> >> pid = 206, comm = ifconfig > >> >> > >> >> panic: trap > >> > > >> > Hm. This doesn't look like an alignment problem. Unfortunately, I'd need > >> > an EPIC card to fix this, and I don't have one. > >> > >> Looks like a NULL dereference. ra is the offending address. Wilko, if you > >> have > >> a kernel.debug laying around, do a gdb -k kernel.debug /dev/mem and then do > >> 'l *0xfffffc0000469dac' to get the source line associated with the panic. > > Argh, ok. ra is where the function was called. Oops. So now we know it is in > the epic_init_rings() function. Can you do a 'l *' on the pc address? This > should give us the actual line it died on. You mean this? (kgdb) l *0xfffffc000046b008 0xfffffc000046b008 is in epic_init_rings (../../pci/if_tx.c:1613). 1608 1609 for (i = 0; i < RX_RING_SIZE; i++) { 1610 struct epic_rx_buffer *buf = sc->rx_buffer + i; 1611 struct epic_rx_desc *desc = sc->rx_desc + i; 1612 1613 desc->status = 0; /* Owned by driver */ 1614 desc->next = vtophys( sc->rx_desc + ((i+1) & RX_RING_MASK) ); 1615 1616 if( (desc->next & 3) || ((desc->next & 0xFFF) + sizeof(struct epic_rx_desc) > 0x1000 ) ) 1617 printf(EPIC_FORMAT ": WARNING! rx_desc is misbound or misaligned\n",EPIC_ARGS(sc)); (kgdb) -- Wilko Bulte Arnhem, the Netherlands wilko@freebsd.org http://www.freebsd.org http://www.nlfug.nl To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001208212540.A750>