Date: Wed, 20 Nov 2002 13:33:53 -0800 (PST) From: Nate Lawson <nate@root.org> To: current@freebsd.org Subject: cron fork bomb, processes deadlocked Message-ID: <Pine.BSF.4.21.0211201321000.64851-100000@root.org>
next in thread | raw e-mail | index | archive | help
I am running with WITNESS and WITNESS_SKIPSPIN. Today I couldn't log into
my current box because it was out of processes. I went to ddb and found a
bunch of pairs of cron processes. One would be blocked in fork and the
second in execve. The relevant stack trace for the execve ones is:
_vm_map_lock + 0x5b
kmem_alloc_wait + 0x38
kern_execve + 0x1de
Which correspond to:
(kgdb) l *kern_execve + 0x1de
0xc0211fae is in kern_execve (../../../kern/kern_exec.c:238).
233
234 /*
235 * Allocate temporary demand zeroed space for argument and
236 * environment strings
237 */
238 imgp->stringbase = (char *)kmem_alloc_wait(exec_map,
ARG_MAX +
239 PAGE_SIZE);
240 if (imgp->stringbase == NULL) {
241 error = ENOMEM;
242 mtx_lock(&Giant);
(kgdb) l *kmem_alloc_wait+0x38
0xc02fd2b8 is in kmem_alloc_wait (vm_map.h:190).
185 }
186
187 static __inline vm_offset_t
188 vm_map_min(vm_map_t map)
189 {
190 return (map->min_offset);
191 }
192
193 static __inline pmap_t
194 vm_map_pmap(vm_map_t map)
(kgdb) l *_vm_map_lock + 0x5b
0xc02fdb0b is in _vm_map_lock (../../../vm/vm_map.c:367).
362 int error;
363
364 if (map->system_map)
365 GIANT_REQUIRED;
366 error = lockmgr(&map->lock, LK_EXCLUSIVE, NULL,
curthread);
367 KASSERT(error == 0, ("%s: failed to get lock", __func__));
368 map->timestamp++;
369 }
370
371 void
I thought I saw a patch for this recently but couldn't find it in the
archives.
Thanks,
Nate
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0211201321000.64851-100000>
