Someone should produce a trace of this. My guess after looking at the code is
that the condition of the pipe is not checked before all writes on the pipe.
This causes dbmail-smtp and dbmail-lmtpd to segfault when writing on closed
pipes. We had a similar condition with dbmail-imapd writing on closed sockets.

The fprintfs need wrapping at the very least. And pclose should be called even
when there is an ferror on the pipe. Or the child process is not waited for,
hence the zombie. Does that make any sense?



Aaron Stone wrote:
> On Wed, Apr 13, 2005, ""Jesse Norell"" <[EMAIL PROTECTED]> said:
> 
> 
>>>In database table dbmail-aliases i have an e-mail alias whith field
>>>delivery_to=|/dev/null
>>>When I send to this e-mail one of dbmail-lmtpd children became zombie and
>>>message stays in queue.
>>>At one time in console appear message: "sh: line 1: /dev/null: Permission
>>>denied"
>>>/dev/null has following permission: -rw-rw-rw- and owner is root, group is
>>>root
>>
>>  That's because it's trying to execute /dev/null as a command, and it does
>>not have execute permissions (nor should it, as it's not an executable).
>>You need to run an executable program, eg. "|/bin/cat > /dev/null" or
>>maybe "|/bin/true".
> 
> 
> 
> Yes, but we shouldn't be producing zombies in this situation any more than
> we should be an infinite memory hog if there's a delivery loop -- ideally
> we can debug this down to some handleable error condition.
> 
> Aaron
> 
> _______________________________________________
> Dbmail-dev mailing list
> Dbmail-dev@dbmail.org
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> 


-- 
  ________________________________________________________________
  Paul Stevens                                  mailto:[EMAIL PROTECTED]
  NET FACILITIES GROUP                     PGP: finger [EMAIL PROTECTED]
  The Netherlands________________________________http://www.nfg.nl

Reply via email to