Re: [RELENG_5 panic] top(1)

From: Wilkinson, Alex <alex.wilkinson_at_dsto.defence.gov.au>
Date: Mon, 31 Jan 2005 11:03:29 +1030
    0n Fri, Jan 28, 2005 at 10:02:18AM +0000, Robert Watson wrote: 

    >
    >On Fri, 28 Jan 2005, Wilkinson, Alex wrote:
    >
    >> Fatal trap 12: page fault while in kernel mode
    >> fault virtual address   = 0x24
    >> fault code              = supervisor read, page not present
    >> instruction pointer     = 0x8:0xc05238d9
    >> stack pointer           = 0x10:0xe8745b2c
    >> frame pointer           = 0x10:0xe8745b60
    >> code segment            = base 0x0, limit 0xfffff, type 0x1b
    >>                         = DPL 0, pres 1, def32 1, gran 1
    >> processor eflags        = resume, IOPL = 0
    >> current process         = 1575 (top)
    >> [thread pid 1575 tid 100176 ]
    >> Stopped at      turnstile_wait+0x269:   movl    0x24(%eax),%eax
    >> 
    >> db> tr
    >> Tracing pid 1575 tid 100176 td 0xc32ef960
    >> turnstile_wait(c2964640,c32ec77c,c32ef640,c2964640,c30e1a00) at
    >> turnstile_wait+0
    >> x269
    >> _mtx_lock_sleep(c32ec77c,c32ef960,0,0,0) at _mtx_lock_sleep+0x81
    >> sysctl_kern_proc(c06d1860,0,0,e8745c04,e8745c04) at
    >> sysctl_kern_proc+0x3ab
    >
    >If you have a kernel with debugging symbols, could you convert
    >sysctl_kern_proc+0x3ab to a line number?  Thanks!

# kgdb kernel.debug /export/bad_kernels/20050128/vmcore.3
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".
doadump () at pcpu.h:159
(kgdb) l *sysctl_kern_proc+0x3ab
0xc04f7963 is in sysctl_kern_proc (/usr/src/sys/kern/kern_proc.c:965).
960                             if (p->p_state == PRS_NEW) {
961                                     mtx_unlock_spin(&sched_lock);
962                                     continue;
963                             }
964                             mtx_unlock_spin(&sched_lock);
965                             PROC_LOCK(p);
966                             /*
967                              * Show a user only appropriate processes.
968                              */
969                             if (p_cansee(curthread, p)) {
(kgdb) 
Received on Sun Jan 30 2005 - 23:37:27 UTC

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