Skip site navigation (1)Skip section navigation (2)
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>