Subject: pkg/12092: cyrus IMAPd sometimes hangs indefinitely on login
To: None <gnats-bugs@gnats.netbsd.org>
From: Jesse Off <joff@newmonics.com>
List: netbsd-bugs
Date: 01/31/2001 12:45:20
>Number:         12092
>Category:       pkg
>Synopsis:       cyrus IMAPd sometimes hangs indefinitely on login
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 31 12:48:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Jesse Off
>Release:        1.5
>Organization:
	NewMonics, Inc.
>Environment:
System: NetBSD psicorp.newmonics.com 1.5.1_ALPHA NetBSD 1.5.1_ALPHA (PSICORP) #4: Fri Jan 19 23:10:55 GMT 2001 joff@psicorp.tucson.home:/usr/src/sys/arch/i386/compile/PSICORP i386


>Description:
	Sometimes, IMAP logins will hang for an undefined amount of time
	without doing anything.  Examination shows that the imap process is
	blocked reading /dev/random.	
>How-To-Repeat:
	Easiest way is to run:
		installsieve -u USER -w PASS -l -p PORT localhost
	I got delays of upwards to 1-2 minutes from this.
>Fix:
	The problem is that the cyrus-sasl pkg uses up the entire entropy pool
	in /dev/random and then has to block waiting for more entropy.  
	Patching the DEV_RANDOM #define to /dev/urandom fixes it.
>Release-Note:
>Audit-Trail:
>Unformatted: