On 19 Feb 2016, at 15:19, Reid Sutherland wrote: [...]
Here is the correct snippet from postfix-2.11.7/src/global/pipe_command.c:657:/** No "D.S.N text" or <sysexits.h> compatible status. Fake it.*/ else { sp = sys_exits_detail(WEXITSTATUS(wait_status)); dsb_unix(why, sp->dsn, log_len ? log_buf : sp->text, "Command died with status %d: \"%s\"%s%s", WEXITSTATUS(wait_status), args.command,log_len ? ". Command output: " : "", log_buf);return (PIPE_STAT_BOUNCE); }I think a bounce should only occur if the command explicitly returns it. If the command cannot respond properly for whatever reason, it should be assumed something is wrong and defer.
I won't try to persuade you that mystery failures should should be presumed "hard," but rather offer a possible more orderly solution. Have you considered upgrading to 3.x and using a pipe_delivery_status_filter? I don't use that feature myself, but it does exist and seems likely to work as a tool to identify Perl compilation failures and make them "soft".
