FWIW, the pipe breakage seems to have been caused by /bin/sh freeing the job table (jobs.c lines 744-746) then later using a value in the freed region as an argument to setpgid() and tcsetpgrp() (jobs.c lines 753-760) when the job had more than one process in it (a pipeline).
phkmalloc was overwriting the freed memory with garbage, causing tcsetpgrp() and setpgid() to be called with bogus process group ID's. I'm going to commit the fix for this tomorrow after I've tested it some more. In the meantime, ln -sf j /etc/malloc.conf will work around the error. The bug seems to have been there since at least 4.4BSD-Lite. Tim To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message