NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: kern/50186: sparc memfault panic after 7.99.21 ARP changes

> >From GENERIC:
> cpu0: data fault: pc=0xf00a626c addr=0x10 sfsr=0x326<PERR=0x0,LVL=0x3,AT=0x1,FT=0x1,FAV,OW>
> panic: kernel fault
> Stopped in pid 0.5 (system) at  netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
> db> bt
> cpu_Debugger(0xf03efb58, 0xf9ac7d20, 0xf0482c00, 0xf0483a58, 0xf0483800, 0x104) at netbsd:panic+0x20
> panic(0xf03efb58, 0x0, 0xf00a626c, 0x10, 0xf9ac7d40, 0xf045c800) at netbsd:mem_access_fault4m+0x5b0
> mem_access_fault4m(0x9, 0x326, 0x10, 0xf9ac7de0, 0xf0459b20, 0xf0a60540) at netbsd:memfault_sun4m+0xe8
> memfault_sun4m(0xf0b8852c, 0x1, 0x0, 0xf04712a0, 0xf0a60544, 0xf0a60544) at netbsd:arptimer+0x6c
> arptimer(0xf0b88480, 0xf0a60540, 0xf0b8c808, 0x0, 0xf0b8852c, 0xf0488800) at netbsd:callout_softclock+0x154
> callout_softclock(0xf04712a4, 0x1000000, 0x10000, 0xf04712a0, 0xf0b88480, 0xf00a61d8) at netbsd:softint_thread+0x94
> softint_thread(0xf0a60540, 0x3000, 0x2000, 0x0, 0x0, 0xf9ac0218) at netbsd:lwp_trampoline+0x8
> db>

OK, so i built my own GENERIC.  i get this:

(gdb) l *(arptimer+0x6c)
0xf00a6244 is in arptimer (/usr/src4/sys/netinet/if_arp.c:352).
347             ifp = lle->lle_tbl->llt_ifp;
349             callout_stop(&lle->la_timer);
351             /* XXX: LOR avoidance. We still have ref on lle. */
352             LLE_WUNLOCK(lle);
354             /* We have to call this w/o lock */
355             arptfree(lle);

disass/m arptimer gives:

351             /* XXX: LOR avoidance. We still have ref on lle. */
352             LLE_WUNLOCK(lle);
   0xf00a6244 <+108>:   call  0xf0163fd0 <rw_vector_exit>          <--- [a]
   0xf00a6248 <+112>:   mov  %i4, %o0

but my addresses don't match yours entirely.  [a] is the instruction that
appears to me faulting... which makes little sense.

John, can you try the above gdb commands for yourself?  thanks.


Home | Main Index | Thread Index | Old Index