Date: Wed, 5 Nov 2003 14:37:39 -0800 (PST) From: Doug White <dwhite@gumbysoft.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/58984: SYSV Semaphore exhaustion causes Giant deadlock Message-ID: <20031105223739.5D74272DB8@carver.gumbysoft.com> Resent-Message-ID: <200311052240.hA5Me8Fx024191@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 58984 >Category: kern >Synopsis: SYSV Semaphore exhaustion causes Giant deadlock >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Nov 05 14:40:08 PST 2003 >Closed-Date: >Last-Modified: >Originator: Doug White >Release: FreeBSD 5.1-CURRENT i386 >Organization: >Environment: FreeBSD fbtest1.looksmart.com 5.1-CURRENT FreeBSD 5.1-CURRENT #6: Wed Nov 5 12:10:15 PST 2003 root@fbtest1.looksmart.com:/usr/src/sys/i386/compile/XEON i386 >Description: Depletion the system of SYSV semaphores causes the semop() system call to infinitely retry to allocate resources while holding Giant. This causes a complete system hang. The tracebacks I get when I break into ddb usually are in semundo_adjust(). >How-To-Repeat: In our environment, I was able to duplicate this using 2 2.4GHz Xeon systems, one serving as a httpd/php host with the pear-APC module installed, and the other as a load generator. pear-APC uses SYSV semaphores to control access to its shared code cache. The client is using ApacheBench to hit a php script on the server. If ab is run with more than 15 clients, the system hangs less than a second after the bench begins. >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031105223739.5D74272DB8>