Re: Page fault in kern_proc.c:736

From: Doug White <dwhite_at_gumbysoft.com>
Date: Fri, 13 May 2005 15:20:57 -0700 (PDT)
On Fri, 13 May 2005, Peter Holm wrote:

> With GENERIC HEAD from May 10 17:58 UTC I got a page fault in
> kern_proc.c:736:
>
> #8  0xc07c5eba in calltrap () at ../../../i386/i386/exception.s:139
> #9  0x00000008 in ?? ()
> #10 0xcf350028 in ?? ()
> #11 0xc0610028 in thread_export_context
> #12 0xc061aea9 in sysctl_out_proc
> #13 0xc061b400 in sysctl_kern_proc
> #14 0xc062750f in sysctl_root
> #15 0xc06276e0 in userland_sysctl
> #16 0xc0627597 in __sysctl
> #17 0xc07d8937 in syscall
> #18 0xc07c5f0f in Xint0x80_syscall
>
> More info at http://www.holm.cc/stress/log/cons130.html
>
> I have a KTR dump with KTR_INTR|KTR_PROC|KTR_RUNQ|KTR_SYSC|KTR_CLK|
> KTR_TRAP if that's any help.

Looks like we need to add code to fill_kinfo_thread() that DTRT if the
thread is TDS_INACTIVE. I only worry that there's nothing stopping a
thread from exiting out from under us.  The proc.h locking guide says
td_state is only accessed by curthread so there might be a problem here.

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite_at_gumbysoft.com          |  www.FreeBSD.org
Received on Fri May 13 2005 - 20:20:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:34 UTC