Subject: kern/20337: current-current kernel drives sendmail crazy
To: None <gnats-bugs@gnats.netbsd.org>
From: Frank Kardel <kardel@acm.org>
List: netbsd-bugs
Date: 02/14/2003 09:49:57
>Number:         20337
>Category:       kern
>Synopsis:       current-20030213 kernel lets sendmail-current+bells loop
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 14 00:51:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Frank Kardel
>Release:        NetBSD 1.6N-20030213
>Organization:
	
>Environment:
	
	
System: NetBSD pip 1.6N NetBSD 1.6N (PIP) #0: Tue Feb 11 13:36:20 MET 2003 kardel@pip:/src/NetBSD/netbsd/sys/arch/i386/compile/PIP i386
Architecture: i386
Machine: i386
>Description:
	The current version of the kernel drives sendmail into a
	tight loop after delivering the mail locally but before 
	removing the mail from the queue. sendmail loops tighly
	on a read(2) that returns EAGAIN over and over again 8-).
	kernels from 2003-02-11 do not show that behavior.
	The sendmail is from pkgsrc/mail/sendmail with some bells
	and whistles added (for TLS/LDAP etc...) thus the sendmail
	i/o code might be more susceptible to changed/unexpected return
	codes from read(2) - older kernels do not trigger that behaviour.
>How-To-Repeat:
	run a 2003-02-13 kernel and deliver mail via sendmail locally.
	The mail will be in the mailbox. mail.local is in zombie state
	(not waited for yet) sendmail 8.12.6 (with many bells and whistles
	compiled) loops on a read(2) returning EAGAIN.
	Killing sendmail leads to another delivery of the mail and another
	looping sendmail (because of the q-run).
>Fix:
	Maybe check kern/sys_pipe.c for glitches - that seems to be the
	only relevant change in the kernel during that time (2003-02-11 - 2003-02-13).
>Release-Note:
>Audit-Trail:
>Unformatted: