From: Thomas Arnett on
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

From: Wietse Venema on
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,
>

What are the symptoms of the problem?

Wietse

From: Thomas Arnett on
On Jul 13, 2010, at 7:03 PM, Wietse Venema wrote:
> What are the symptoms of the problem?


postfix/pipe[22169]: 5991748: to=<user(a)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=<user(a)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=<user(a)example.com>, relay=dovecot, delay=60, delays=59/0.06/0/0.2, dsn=2.0.0, status=sent (delivered via dovecot service)

-- TA
From: Jeroen Geilman on
On 07/14/2010 01:27 AM, Thomas Arnett wrote:
> On Jul 13, 2010, at 7:03 PM, Wietse Venema wrote:
>
>> What are the symptoms of the problem?
>>
>
> postfix/pipe[22169]: 5991748: to=<user(a)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=<user(a)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=<user(a)example.com>, relay=dovecot, delay=60, delays=59/0.06/0/0.2, dsn=2.0.0, status=sent (delivered via dovecot service)
>
> -- TA

Add "-o soft_bounce=yes" to your pipe transport.
Done.

J.

From: Victor Duchovni on
On Wed, Jul 14, 2010 at 07:56:36PM +0200, Jeroen Geilman wrote:

>> postfix/pipe[15018]: A481A3B: to=<user(a)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=<user(a)example.com>, relay=dovecot,
>> delay=60, delays=59/0.06/0/0.2, dsn=2.0.0, status=sent (delivered via
>> dovecot service)
>>
>> -- TA
>
> Add "-o soft_bounce=yes" to your pipe transport.

That can mask real permanent non-delivery issues. Of course delivery
programs should not die with "bus errors" (or whatever signal 7 is
on the OPs system), but if they do, perhaps Postfix should retry...

--
Viktor.