Date: Tue, 5 Mar 2002 19:20:42 +0100 From: Wilko Bulte <wkb@freebie.xs4all.nl> To: John Baldwin <jhb@FreeBSD.org> Cc: freebsd-alpha@FreeBSD.org, freebsd-current@FreeBSD.org Subject: Re: blockable sleep panic on Alpha / current Message-ID: <20020305192042.A7375@freebie.xs4all.nl> In-Reply-To: <XFMail.020305105153.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Tue, Mar 05, 2002 at 10:51:53AM -0500 References: <20020304191303.A2288@freebie.xs4all.nl> <XFMail.020305105153.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 05, 2002 at 10:51:53AM -0500, John Baldwin wrote:
Hi John,
> On 04-Mar-02 Wilko Bulte wrote:
> > During a make release I just got a panic. The build progressed until:
> >
> > gzip -cn /usr/src/lib/libc/../libc/stdlib/imaxabs.3 > imaxabs.3.gz
> > gzip -cn /usr/src/lib/libc/../libc/stdlib/imaxdiv.3 > imaxdiv.3.gz
> > gzip -cn /usr/src/lib/libc/../libc/stdlib/labs.3 > labs.3.gz
> >
> > The running system is a -current as of today.
> >
> > The panic:
> >
> > login:
> > FreeBSD/alpha (ds10.wbnet) (ttyd0)
> >
> > login: panic: blockable sleep lock (sleep mutex) Giant @
> > ../../../alpha/alpha/tr
> > ap.c:482
> > cpuid = 0; panic
> > Stopped at Debugger+0x34: zapnot v0,#0xf,a0 <v0=0x7,a0=0x6>
> > db>
> > db> trace
> > Debugger() at Debugger+0x34
> > panic() at panic+0x188
> > witness_lock() at witness_lock+0xb4
> > _mtx_lock_flags() at _mtx_lock_flags+0xd8
> > trap() at trap+0x4c8
> > XentMM() at XentMM+0x2c
> > --- memory management fault (from ipl 7) ---
> > statclock_process() at statclock_process+0x1d4
>
> We did something stupid like dereference a NULL pointer here. Can you pull up
> gdb on kernel.debug and do 'l *statclock_process+0x1d4'?
Thanks to Drew for confirming that -current's gdb is hosed. Using the
-stable gdb I get better results.
Anyway:
(kgdb) l *statclock_process+0x1d4
0xfffffc00003d1ed4 is in statclock_process (../../../kern/kern_clock.c:447).
442
443 /* Update resource usage integrals and maximums. */
444 if ((pstats = p->p_stats) != NULL &&
445 (ru = &pstats->p_ru) != NULL &&
446 (vm = p->p_vmspace) != NULL) {
447 ru->ru_ixrss += pgtok(vm->vm_tsize);
448 ru->ru_idrss += pgtok(vm->vm_dsize);
449 ru->ru_isrss += pgtok(vm->vm_ssize);
450 rss = pgtok(vmspace_resident_count(vm));
451 if (ru->ru_maxrss < rss)
(kgdb)
>
> > XentMM() at XentMM+0x2c
> > --- memory management fault ---
> > ithread_schedule() at ithread_schedule+0xa4
>
> Eww, we have another one here.
(kgdb) l *ithread_schedule+0xa4
0xfffffc00003e2924 is in ithread_schedule (../../../kern/kern_intr.c:375).
370 random_harvest(&entropy, sizeof(entropy), 2, 0,
371 RANDOM_INTERRUPT);
372 }
373
374 td = ithread->it_td;
375 p = td->td_proc;
376 KASSERT(p != NULL, ("ithread %s has no process",
ithread->it_name));
377 CTR4(KTR_INTR, "%s: pid %d: (%s) need = %d", __func__,
p->p_pid, p->p_comm,
378 ithread->it_need);
379
(kgdb)
> > alpha_dispatch_intr() at alpha_dispatch_intr+0x130
> > interrupt() at interrupt+0x138
> > XentInt() at XentInt+0x28
> > --- interrupt (from ipl 0) ---
> > critical_exit() at critical_exit+0x1c
> > _mtx_unlock_spin_flags() at _mtx_unlock_spin_flags+0xd4
> > vm_fault1() at vm_fault1+0x110c
> > vm_fault() at vm_fault+0x64
> > trap() at trap+0x6d8
> > XentMM() at XentMM+0x2c
> > --- memory management fault ---
> > pmap_enter_quick() at pmap_enter_quick+0x1d4
>
> Ugh, this is probably the real bug. :( Can you do a list on this address?
(kgdb) l *pmap_enter_quick+0x1d4
0xfffffc000052c314 is in pmap_enter_quick
(../../../alpha/alpha/pmap.c:2422).
2417 pmap_insert_entry(pmap, va, mpte, m);
2418
2419 /*
2420 * Increment counters
2421 */
2422 pmap->pm_stats.resident_count++;
2423
2424 /*
2425 * Now validate mapping with RO protection
2426 */
(kgdb)
I hope this makes sense. I still hope to catch a dump. Or
alternatively I hope it get's caught by ddb.
W/
--
| / o / /_ _ wilko@FreeBSD.org
|/|/ / / /( (_) Bulte Arnhem, the Netherlands
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020305192042.A7375>
