5.3-RELEASE TODO
John Baldwin
jhb at FreeBSD.org
Thu Sep 2 14:21:40 PDT 2004
On Thursday 02 September 2004 11:59 am, Ken Smith wrote:
> > * ---
> > Fatal trap 12: page fault while in kernel mode
> > fault virtual address = 0x104
> > fault code = supervisor read, page not present
> > instruction pointer = 0x8:0xc058a8cf
> > stack pointer = 0x10:0xdcb34cc4
> > frame pointer = 0x10:0xdcb34cec
> > code segment = base 0x0, limit 0xfffff, type 0x1b
> > = DPL 0, pres 1, def32 1, gran 1
> > processor eflags = resume, IOPL = 0
> > current process = 50 (schedcpu)
> > trap number = 12
> > panic: page fault
> >
> > syncing disks, buffers remaining... panic: mi_switch: switch in a
> > critical section
> >
> > addr2line says the panic was in kern/sched_4bsd.c:327
> >
> > /*
> > * The kse slptimes are not touched in
> > wakeup * because the thread may not HAVE a KSE. */
> > if (ke->ke_state == KES_ONRUNQ) {
> > awake = 1;
> > ke->ke_flags &= ~KEF_DIDRUN;
> > ---> } else if ((ke->ke_state == KES_THREAD)
> > && (TD_IS_RUNNING(ke->ke_thread))) { awake = 1;
> >
> > gdb -k got confused and couldn't make anything out of the backtrace.
>
> The code you quote above hasn't changed recently but a few kse related
> fixes have gone in recently if I recall correctly. Is this one still
> biting you?
This seems to be a symptom of the same bug that causes runq corruption when
PREEMPTION is turned on. I think it might have triggered on SMP w/o
PREEMPTION turned on however.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current
mailing list