Skip site navigation (1)Skip section navigation (2)
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>