DragonFly BSD
DragonFly bugs List (threaded) for 2004-08
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: yet another kernel panic


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 29 Aug 2004 09:47:43 -0700 (PDT)

:i have a build of 1.1-current from around 19th of august (old, but maybe the
:bug is still present today) and experienced a kernel panic, was running
:xorg with kde (kdebase, kdelibs, kdegames and thats about it), firefox,
:konsole, xmms, xterm and perhaps another app or two. the kernel panic
:happened when i tried running top (weird) ... the dump is located at:
:leaf:~rumko/memory_dumps/dump-28.8.04-16-46.tar.bz2
:i also have a backtrace if its usefull:
:
:...
:#6  0xc01c97b8 in fill_eproc (p=0xceff8200, ep=0xcf70f81c) at
:/usr/src/sys/kern/kern_proc.c:411
:#7  0xc01c990d in sysctl_out_proc (p=0xceff8200, td=0xc9a5db80,
:req=0xcf70fb50, doingzomb=0)
:    at /usr/src/sys/kern/kern_proc.c:461
:#8  0xc01c9baa in sysctl_kern_proc (oidp=0xc03fe3c0, arg1=0x0, arg2=0,

    Ok, here's a patch to try.  fill_eproc() checks for p_stats == NULL
    but it looks like I don't NULL it out when I deallocate the process's
    kernel stack (which is where the stats are located).  If a process is
    left a zombie long enough the kernel's kstack cache might cause the
    stack to be deallocated, leading to a panic in the eproc code.

						-Matt

Index: vm_glue.c
===================================================================
RCS file: /cvs/src/sys/vm/vm_glue.c,v
retrieving revision 1.27
diff -u -r1.27 vm_glue.c
--- vm_glue.c	15 Aug 2004 15:00:22 -0000	1.27
+++ vm_glue.c	29 Aug 2004 16:45:15 -0000
@@ -275,6 +275,7 @@
 void
 vm_waitproc(struct proc *p)
 {
+	p->p_stats = NULL;
 	cpu_proc_wait(p);
 	vmspace_exitfree(p);	/* and clean-out the vmspace */
 }



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]