[MacPorts] #46623: procmail on OS X Yosemite hits "Abort trap: 6" if variable assignment uses backticks

MacPorts noreply at macports.org
Mon Jan 19 13:22:34 PST 2015


#46623: procmail on OS X Yosemite hits "Abort trap: 6" if variable assignment uses
backticks
------------------------+--------------------------------
 Reporter:  macports@…  |      Owner:  macports-tickets@…
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:  2.3.3
 Keywords:  procmail    |       Port:  mail/procmail
------------------------+--------------------------------
 If my `.procmailrc` file contains a variable assignment like this
 {{{
 FROM=`sed 1d | formail -I reply-to: -I resent-from: -I return-path: | \
         formail -rzxTo:`
 }}}
 then procmail hits an "Abort trap: 6" as follows:
 {{{
  mini1:~ collin$ cat Mail/backup/92862 | formail -imessage-id: |
 /opt/local/bin/procmail .procmailrc.1.18
  Abort trap: 6
  mini1:~ collin$
 }}}
 /usr/bin/procmail displays the same symptom. Both binaries are version
 3.22 (they display the same
 version string as in `procmail -v` string), though they have some
 different attributes:
 {{{
 mini1:~ collin$ ls -l /usr/bin/procmail /opt/local/bin/procmail
 -rwsr-sr-x  1 root  mail  97612 Dec  7 01:23 /opt/local/bin/procmail
 -rwxr-sr-x  1 root  mail  84576 Sep  9 15:57 /usr/bin/procmail
 mini1:~ collin$ file /usr/bin/procmail /opt/local/bin/procmail
 /usr/bin/procmail:       setgid Mach-O 64-bit executable x86_64
 /opt/local/bin/procmail: setuid setgid Mach-O 64-bit executable x86_64
 mini1:~ collin$
 }}}
 Removing the `FROM=...` line makes the problem go away--i.e., procmail
 does what I expect (and indeed what it does do on Linux, and what
 /usr/bin/procmail formerly did on Mac OS X 10.6.8).

 The same .procmailrc script has worked OK for a few years on a mac mini.
 Until 2 days back,
 this mac mini had been running 10.6.8 (not sure when the last OS upgrade
 was, but it has been
 months).

 I was hoping for a coredump so I naively tried "`ulimit -c unlimited`" but
 no coredump appeared after the abort.

 The backtick sequence inside a recipe doesn't provoke an abort; the
 following works just fine:
 {{{
 :0 ic
 | cd backup && rm -f dummy `ls -t | sed -e 1,128d`
 }}}
 It seems to be only a line of the form
 {{{
 VAR=`cmd`
 }}}
 that the current procmail (both /usr/bin/procmail and the port) hates.

 Also: I tried replacing the long "FROM=" line above by
 {{{
 FROM=`cat`
 }}}
 which also proved disappointing

-- 
Ticket URL: <https://trac.macports.org/ticket/46623>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list