kern/58984: SYSV Semaphore exhaustion causes Giant deadlock

Doug White dwhite at gumbysoft.com
Wed Nov 5 14:40:11 PST 2003


>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 at 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:


More information about the freebsd-bugs mailing list