PATCH: defer when pipe command dies

2010-07-19 Thread Thomas Arnett
Victor Duchovni Victor.Duchovni at morganstanley.com writes:
 Wietse, if I understand correctly, wants to ensure that the issue is
 clearly defined, so we don't solve the wrong one, and is worth fixing.

Naturally.

 Why does your Dovecot intermittently SIGBUS?

It doesn't. The deliver binary was truncated, making it SIGBUS consistently
until I restored it.

-- TA



Re: PATCH: defer when pipe command dies

2010-07-15 Thread Thomas Arnett
Jeroen Geilman jeroen at adaptr.nl writes: 
 I completely agree that non-delivery to a (presumably dependable) MDA 
 should never error out, but I thought a soft solution would be better 
 than choosing the more extreme route (of altering working code).

I believe the code is not working as intended and documented. Please let me know
if I have missed something.

-- TA



PATCH: defer when pipe command dies

2010-07-13 Thread Thomas Arnett
HISTORY, 20061207:
Compatibility with Postfix  2.3: undo the change to bounce
instead of defer after pipe-to-command delivery fails with
a signal. File: global/pipe_command.c.

Part 1: http://article.gmane.org/gmane.mail.postfix.user/154616

Part 2 (tested with Postfix 2.6.6):
--- src/global/pipe_command.c
+++ src/global/pipe_command.c
@@ -628,7 +628,7 @@
 */
if (!NORMAL_EXIT_STATUS(wait_status)) {
if (WIFSIGNALED(wait_status)) {
-   dsb_unix(why, 5.3.0, log_len ?
+   dsb_unix(why, 4.3.0, log_len ?
 log_buf : sys_exits_detail(EX_SOFTWARE)-text,
 Command died with signal %d: \%s\%s%s,
 WTERMSIG(wait_status), args.command,

-- TA


Re: PATCH: defer when pipe command dies

2010-07-13 Thread Thomas Arnett
On Jul 13, 2010, at 7:03 PM, Wietse Venema wrote:
 What are the symptoms of the problem?


postfix/pipe[22169]: 5991748: to=u...@example.com, relay=dovecot, delay=1.9, 
delays=1.8/0.05/0/0.03, dsn=5.3.0, status=bounced (Command died with signal 7: 
/usr/libexec/dovecot/deliver)
postfix/bounce[22171]: 5991748: sender non-delivery notification: 50A2A4E

After the patch:

postfix/pipe[15018]: A481A3B: to=u...@example.com, relay=dovecot, delay=0.32, 
delays=0.26/0.02/0/0.04, dsn=4.3.0, status=deferred (Command died with signal 
7: /usr/libexec/dovecot/deliver)
postfix/pipe[15173]: A481A3B: to=u...@example.com, relay=dovecot, delay=60, 
delays=59/0.06/0/0.2, dsn=2.0.0, status=sent (delivered via dovecot service)

-- TA