yet another kernel panic

Matthew Dillon dillon at apollo.backplane.com
Sun Aug 29 09:48:58 PDT 2004


: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 */
 }





More information about the Bugs mailing list