Date: Wed, 13 Jun 2012 13:11:10 +0200 From: Svatopluk Kraus <onwahe@gmail.com> To: Benjamin Kaduk <kaduk@mit.edu> Cc: freebsd-current@freebsd.org Subject: Re: panic td->td_lock == NULL in scheduler(), csup'd 2011-02-19 Message-ID: <CAFHCsPXEfGQWt7xAKnoOtfPhvuMPGPjrmT8igqC4wW28jv-uSQ@mail.gmail.com> In-Reply-To: <alpine.GSO.1.10.1206121910380.18441@multics.mit.edu> References: <alpine.GSO.1.10.1206121910380.18441@multics.mit.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, it looks similar to http://lists.freebsd.org/pipermail/freebsd-current/2011-March/023829.html Svata On Wed, Jun 13, 2012 at 1:11 AM, Benjamin Kaduk <kaduk@mit.edu> wrote: > Hi all, > > I know, I should update the machine, but I figured I would throw this out > for the archives anyway. > > I saw the panic a few minutes after starting X, but I'm pretty sure I was > not actually swapping. =A0In ddb (blind), I ran 'call doadump; show alllo= cks; > show lockedvnods; call doadump; reboot' ... I'm not sure whether the two > 'doadump's will cause any issues with the core. > > Fatal trap 12: page fault while in kernel mode > cpuid =3D 0; apic id =3D 00 > fault virtual address =A0 =3D 0x18 > fault code =A0 =A0 =A0 =A0 =A0 =A0 =A0=3D supervisor read data, page not = present > instruction pointer =A0 =A0 =3D 0x20:0xffffffff806d7dce > stack pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffffff81381c40 > frame pointer =A0 =A0 =A0 =A0 =A0 =3D 0x28:0xffffffff81381ca0 > code segment =A0 =A0 =A0 =A0 =A0 =A0=3D base 0x0, limit 0xfffff, type 0x1= b > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =3D DPL 0, pres 1, long 1= , def32 0, gran 1 > processor eflags =A0 =A0 =A0 =A0=3D resume, IOPL =3D 0 > current process =A0 =A0 =A0 =A0 =3D 0 (swapper) > #7 =A00xffffffff809e20a5 in trap (frame=3D0xffffffff81381b90) > =A0 =A0 at /usr/src/sys/amd64/amd64/trap.c:319 > #8 =A00xffffffff809cc6ef in calltrap () > =A0 =A0 at /usr/src/sys/amd64/amd64/exception.S:228 > #9 =A00xffffffff806d7dce in _thread_lock_flags (td=3D0xfffffe003b14d8c0, = opts=3D0, > =A0 =A0 file=3D0xffffffff80b4b720 "/usr/src/sys/vm/vm_glue.c", line=3D744= ) > =A0 =A0 at /usr/src/sys/kern/kern_mutex.c:560 > #10 0xffffffff8094b395 in scheduler (dummy=3DVariable "dummy" is not > available. > ) at /usr/src/sys/vm/vm_glue.c:744 > #11 0xffffffff8069f8c7 in mi_startup () at /usr/src/sys/kern/init_main.c:= 256 > #12 0xffffffff80292f2c in btext () at /usr/src/sys/amd64/amd64/locore.S:8= 1 > #13 0x0000000000000000 in ?? () > #14 0xffffffff80eff8a0 in cpu_top () > #15 0xffffffff80eff900 in affinity () > #16 0xfffffe00025f8000 in ?? () > #17 0xffffffff81381b60 in ?? () > #18 0xffffffff81381b08 in ?? () > #19 0xffffffff80ee6030 in proc0 () > #20 0xffffffff8070e5d2 in sched_switch (td=3D0x0, newtd=3D0x0, flags=3DVa= riable > "flags" is not available. > ) > =A0 =A0 at /usr/src/sys/kern/sched_ule.c:1847 > > I verified that td->td_lock was null using kgdb on the coredump. > > kern_mutex.c: > =A0 =A0 558 retry: > =A0 =A0 559 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 spinlock_enter(); > =A0 =A0 560 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 m =3D td->td_lock; > =A0 =A0 561 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 KASSERT(m->mtx_lock !=3D MTX_= DESTROYED, > =A0 =A0 562 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ("thread_lock() of de= stroyed mutex @ %s:%d", > file, l > > vm_glue.c: > =A0 =A0 738 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 FOREACH_THREAD_IN_PROC(p, td)= { > =A0 =A0 739 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* > =A0 =A0 740 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* An other= wise runnable thread of a process > =A0 =A0 741 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* swapped = out has only the TDI_SWAPPED bit > set. > =A0 =A0 742 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0* > =A0 =A0 743 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0*/ > =A0 =A0 744 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 thread_lock(t= d); > =A0 =A0 745 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (td->td_in= hibitors =3D=3D TDI_SWAPPED) { > > -Ben Kaduk > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= "
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFHCsPXEfGQWt7xAKnoOtfPhvuMPGPjrmT8igqC4wW28jv-uSQ>